Consulta com Parâmetro!!!

Delphi

22/05/2004

Bom pessoal eu consigo fazer uma consulta com parmetro mas somente com string, quando na tabela o campo possue um valor diferente de String da errado mas eu mudando a propriedade param para ftinteger. o código que eu faço é mais ou menos assim:

Query1.parambyname(´cpf´).asstring := edit1.text;

Como na tabela cpf naum é alfa e sim number da um erra na hora da consulta, aguardo resposta dos amigos.


Japasc

Japasc

Curtidas 0

Respostas

Tnaires

Tnaires

22/05/2004

Query1.ParamByName(´CPF´).AsInteger := StrToInt(Edit1.Text);



GOSTEI 0
Fabio.hc

Fabio.hc

22/05/2004

Tente assim:
Query1.parambyname(´cpf´).Value:= edit1.text; 



GOSTEI 0
Japasc

Japasc

22/05/2004

AMIGOS, INFELIZMENTE NÃO DEU CERTO, SE ALGUM DE VCS PUDESSE ME MANDAR UMA EX, EU FICARIA GRATO.


GOSTEI 0
Lucas Silva

Lucas Silva

22/05/2004

Olha se a propriedade [b:f52c98f1bf]paramCheck [/b:f52c98f1bf]está como true, na query


GOSTEI 0
Xisto

Xisto

22/05/2004

Me manda todo o codigo SQL para eu analizar.
Ou aqui ou por email.
Da montagem da instrucao SQL ,os parametros ate a execucao (OPEN ou EXECSQL), ai a gente mata o bicho...
[]s
Xisto


GOSTEI 0
Japasc

Japasc

22/05/2004

[quote:b35b031175=´Lucas Alves Silva´]Olha se a propriedade [b:b35b031175]paramCheck [/b:b35b031175]está como true, na query[/quote:b35b031175]

esta true, eu cheguei perto antes

QUERY1.Active := TRUE;
Query1.FieldByName(´CPF´).AsInteger := StrToInt(EDIT1.TEXT);
QUERY1.Active := FALSE;

como agente diz, o programa roda mais naum funciona, hehehe...


GOSTEI 0
Fabio.hc

Fabio.hc

22/05/2004

Tente assim:
QUERY1.Close; 
QUERY1.FieldByName(´CPF´).AsInteger := StrToInt(EDIT1.TEXT); 
QUERY1.Open; 



GOSTEI 0
Japasc

Japasc

22/05/2004

Tente assim:
QUERY1.Close; 
QUERY1.FieldByName(´CPF´).AsInteger := StrToInt(EDIT1.TEXT); 
QUERY1.Open; 


Não foi dessa vez, hehehe


GOSTEI 0
Japasc

Japasc

22/05/2004

Eu to fazendo o seguinte:

No object inspector, propriedade Sql e digito o seguinte:

[color=blue:54687766b3]SELECT * FROM TABTESTE WHERE CPF LIKE :CPF [/color:54687766b3]

Depois no propriedade Params eu coloco [color=blue:54687766b3]ftInteger[/color:54687766b3]

ai na procedure do botão eu coloco:

[color=blue:54687766b3]QUERY1.ACTIVE := FALSE;
QUERY1.PARAMBYNAME(´CPF´).ASSINTEGER := STRTOINT(EDIT1.TEXT);
QUERY1.ACTIVE := TRUE;[/color:54687766b3]
É assim q eu sempre faço com campos String, nunca tinha precisado com integer.


GOSTEI 0
Fabio.hc

Fabio.hc

22/05/2004

esta instrução é para campo string:
[color=blue:7a1e16c5df]SELECT * FROM TABTESTE WHERE CPF [b:7a1e16c5df]LIKE[/b:7a1e16c5df] :CPF[/color:7a1e16c5df]


esta instrução é para campo numérico:
[color=blue:7a1e16c5df]SELECT * FROM TABTESTE WHERE CPF [b:7a1e16c5df]=[/b:7a1e16c5df]:CPF[/color:7a1e16c5df]


GOSTEI 0
Japasc

Japasc

22/05/2004

FUNCIONOU ASSIM OH.

Query1.Close;
Query1.Sql.Text := ´Select * From TABTESTE ´ +
´Where cpf =:cpfConsulta´;
Query1.Params[0].AsInteger := StrToInt(Edit1.text);
Query1.open;


GOSTEI 0
POSTAR