Filtrar tabela com Sql...

Delphi

20/04/2004

Estou usando a seguinte linha de comandos para filtrar uma tabela mas tá dando erro de sintaxe, alguém sabe me dizer onde o meu código tá errado?

frase:=´select * from itempedido where controle = ´+floattostr(fmod.tabPedidoControle.Value)+´ and entregue = ´+QuotedStr(´S´);
fmod.tabItemPedido.Sql.Add(frase);

Já tentei de várias maneiras e sempre dá o mesmo erro, o engraçado é que com o comando showmessage mando escrever a variável frase e sai a sentença correta:

select * from itempedido where controle = 1 and entregue = ´S´

Se alguém puder me ajudar agradeço...


Alberto_jr

Alberto_jr

Curtidas 0

Respostas

Fer_nanda

Fer_nanda

20/04/2004

vc poderia testar essa linha no sql explore (caso se estiver usando paradox)
se o erro for realmente de sintaxe aparecerá la tbém


GOSTEI 0
Marco Salles

Marco Salles

20/04/2004

para filtrar uma tabela mas tá dando erro de sintaxe, alguém sabe me dizer onde o meu código tá errado?

Que tipo de erro sinta-se dá :?: Qual o Banco que Voce Usa :?: Quais são os Campos e os tipos Que Voce Usa :?:
[b:2035d4ddd2]Aparentemente Não Há Nada de anormal no Seu Código[/b:2035d4ddd2]


GOSTEI 0
Alberto_jr

Alberto_jr

20/04/2004

Eu testei esse comando select no MySQL Front Page e deu certo, como disse uso o MySQL, controle é integer e entregue é char... O erro que dá é que a expressão não é válida... Já tentei de várias formas diferentes e nada...
Obrigado pela atenção...


GOSTEI 0
Marco Salles

Marco Salles

20/04/2004

controle é integer e [b:4bd3546499][size=18:4bd3546499]entregue é char[/size:4bd3546499][/b:4bd3546499]... O erro que dá é que a expressão não é válida.

Eu não sei no MySQL Como é Definido o tipo [b:4bd3546499]Char[/b:4bd3546499], mas pode ser uma incompatibilidade do retorno da expressão QuotedStr(´S´) para este tipo de Dado...
Tente mudar sua expressão para:
frase:=´select * from itempedido where controle = ´+floattostr(fmod.tabPedidoControle.Value)+´ and entregue = ´+´´´S´´´; 
fmod.tabItemPedido.Sql.Add(frase); 

Se não conseguir, Continue postando para que outros possam dar a suas opiniões


GOSTEI 0
POSTAR