Comando SQL no fire

Firebird

27/10/2006

Zquery1.SQL.Clear;
Zquery1.SQL.Add(´Select * from clientes where aniver LIKE:aniv and estado LIKE:Mest and tipocli LIKE:Mtipo and descricao LIKE:Mdesc´);
Zquery1.ParamByName(´aniv´).AsString:=´¬´+edit1.text+´¬´;
Zquery1.ParamByName(´mest´).AsString:=´¬´+edit3.text+´¬´;
Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´;
Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´;
Zquery1.ParamByName(´mdesc´).AsString:=´¬´+DBlookupComboBox2.text+´¬´;
Zquery1.open;

estou fazendo assim mas esta dando esse erro

303 aritmetic exception, numeric overflow, or string truncation, error code:-303 incompatible cloun/host variable datatype.

não tenho a menor ideia do que seja isso.


Rjcerri

Rjcerri

Curtidas 0

Respostas

Raserafim

Raserafim

27/10/2006

esperimente definir o tipo de dado do parâmetro.

na query tem uma propriedade chamada Params
entre nela e verá uma lista dos parâmetros
defina então o DataType


GOSTEI 0
Rjcerri

Rjcerri

27/10/2006

Zquery1.ParamByName(´aniv´).DataType:=ftstring;
Zquery1.ParamByName(´mest´).DataType:=ftstring;
Zquery1.ParamByName(´mtipo´).DataType:=ftstring;
Zquery1.ParamByName(´mdesc´).DataType:=ftstring;
Zquery1.ParamByName(´aniv´).AsString:=´¬´+edit1.text+´¬´;
Zquery1.ParamByName(´mest´).AsString:=´¬´+edit3.text+´¬´;
Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´;
Zquery1.ParamByName(´mdesc´).AsString:=´¬´+DBlookupComboBox2.text+´¬´;
Zquery1.open;

Obrigado amigo, fiz assim porque estou fazendo dinamicamente,mas o erro continua.


GOSTEI 0
Martins

Martins

27/10/2006

Mudando por exemplo para:

Zquery1.ParamByName(´mtipo´).AsString:=´¬´+QuotedStr(edit2.text)+´¬´; 


Mudando o restante do código dá o mesmo erro?


GOSTEI 0
Rjcerri

Rjcerri

27/10/2006

Amigo deu o mesmo erro. Isso pode ser alguma coisa de errado no banco de dados que converti de paradox para fire? Pos em outro banco faço a mesmo coisa até com mais parametros e funciona direitinho.


GOSTEI 0
Xtreme

Xtreme

27/10/2006

Zquery1.SQL.Clear; Zquery1.SQL.Add(´Select * from clientes where aniver LIKE:aniv and estado LIKE:Mest and tipocli LIKE:Mtipo and descricao LIKE:Mdesc´); Zquery1.ParamByName(´aniv´).AsString:=´¬´+edit1.text+´¬´; Zquery1.ParamByName(´mest´).AsString:=´¬´+edit3.text+´¬´; Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´; Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´; Zquery1.ParamByName(´mdesc´).AsString:=´¬´+DBlookupComboBox2.text+´¬´; Zquery1.open; estou fazendo assim mas esta dando esse erro 303 aritmetic exception, numeric overflow, or string truncation, error code:-303 incompatible cloun/host variable datatype. não tenho a menor ideia do que seja isso.


Tenta assim:
Zquery1.SQL.Clear; Zquery1.SQL.Add(´Select * from clientes where aniver LIKE:aniv and estado LIKE:Mest and tipocli LIKE:Mtipo and descricao LIKE:Mdesc´); Zquery1.ParamByName(´aniv´).AsString:=[b:89cf75f43c]quotedstr([/b:89cf75f43c]´¬´+edit1.text+´¬´[b:89cf75f43c])[/b:89cf75f43c]; Zquery1.ParamByName(´mest´).AsString:=quotedstr(´¬´+edit3.text+´¬´); Zquery1.ParamByName(´mtipo´).AsString:=quotedstr(´¬´+edit2.text+´¬´); Zquery1.ParamByName(´mtipo´).AsString:=quotedstr(´¬´+edit2.text+´¬´); Zquery1.ParamByName(´mdesc´).AsString:=quotedstr(´¬´+DBlookupComboBox2.text+´¬´); Zquery1.open;



GOSTEI 0
Xtreme

Xtreme

27/10/2006

So um detalhe vc ta passando duas vezes o mesmo parametro, mas talvez tenha so sido um erro de postagem aqui no forum!

Zquery1.SQL.Clear;
Zquery1.SQL.Add(´Select * from clientes where aniver LIKE:aniv and estado LIKE:Mest and tipocli LIKE:Mtipo and descricao LIKE:Mdesc´);
Zquery1.ParamByName(´aniv´).AsString:=´¬´+edit1.text+´¬´;
Zquery1.ParamByName(´mest´).AsString:=´¬´+edit3.text+´¬´;
[b:f88d6d4e82]Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´;
Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´;[/b:f88d6d4e82]
Zquery1.ParamByName(´mdesc´).AsString:=´¬´+DBlookupComboBox2.text+´¬´;
Zquery1.open;


GOSTEI 0
Jeca

Jeca

27/10/2006

Zquery1.SQL.Clear; Zquery1.SQL.Add(´Select * from clientes where aniver LIKE:aniv and estado LIKE:Mest and tipocli LIKE:Mtipo and descricao LIKE:Mdesc´); Zquery1.ParamByName(´aniv´).AsString:=´¬´+edit1.text+´¬´; Zquery1.ParamByName(´mest´).AsString:=´¬´+edit3.text+´¬´; Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´; Zquery1.ParamByName(´mtipo´).AsString:=´¬´+edit2.text+´¬´; Zquery1.ParamByName(´mdesc´).AsString:=´¬´+DBlookupComboBox2.text+´¬´; Zquery1.open; estou fazendo assim mas esta dando esse erro 303 aritmetic exception, numeric overflow, or string truncation, error code:-303 incompatible cloun/host variable datatype. não tenho a menor ideia do que seja isso.


acredito que voce tenha trocado os indices no dblookup.
Onde vc devia por o detail table vc colocou o table master
tipo no listosource experiemente inverter e colocar o datasource que está no a table do datasource principal.


GOSTEI 0
Jeca

Jeca

27/10/2006

tenho certeza que o erro está no dblookupcombobox.
o keyfield está com inconsistencia no tipo de campo que deve ser integer e está um valor string


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

27/10/2006

quais os tipos e tamanhos dos campos envolvidos ?
e quais os valores informados nos parâmetros ?


GOSTEI 0
POSTAR