rjcerri Postado Outubro 27, 2006 Denunciar Share Postado Outubro 27, 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 erro303 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Outubro 28, 2006 Denunciar Share Postado Outubro 28, 2006 rjcerri, acredito que seja porque não esteja definido o tipo de parâmetro a ser passado e deste modo a consulta pode não estar sendo enviada corretamente para o banco. Como você está fazendo esta consulta dinamicamente, faça um teste: defina então o tipo do parâmetro (DataType) de acordo com o tipo do respectivo campo na tabela (ftString)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');// *** não sei se funciona em run-time, então se houver erro, acho que vai ter que tentar // *** adicionando em design-time 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('mtipo').AsString:='%'+edit2.text+'%';Zquery1.ParamByName('mdesc').AsString:='%'+DBlookupComboBox2.text+'%';Zquery1.open;[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rjcerri Postado Outubro 30, 2006 Autor Denunciar Share Postado Outubro 30, 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 mas o erro continua. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest MACABUS Postado Outubro 31, 2006 Denunciar Share Postado Outubro 31, 2006 não sei se estou falando besteira, mas fiz um teste e parece que o maximo de caracteres é 20. será que algum parametro está dando o string truncation?obrigado por me ajudar com a sintaxe do LIKE... ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Novembro 1, 2006 Denunciar Share Postado Novembro 1, 2006 depois que o colega MACABUS chamou a atenção para o LIKE, dando uma olhada melhor, parece que você está utilizando o like com campo data quando coloca "...where aniver LIKE:aniv..."O like só se aplica a textos(strings), então se quizer fazer uso com um campo data, provavelmente você terá que converter seu campo data para texto. Se for o caso, dê uma olhada em CAST (no Firebird). Seria algo mais ou menos assim: "...where CAST(aniver as varchar(10)) like :aniv...". não tenho como conferir agora.[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rjcerri
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.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.