Combine the previous two answers. Suppose you were going to a vegetable stand and asking if they had tomatoes.
"Have you tomatoes," would be extremely confusing to the person you were asking.
"Have you got tomatoes," would be understood, but sounds incorrect and somewhat uneducated to my ear.
"Do you have tomatoes," is by far your best option.
I would use "do you have" in almost all cases, unless you hear someone using one of the others, then you can probably use it in the same context they did.