paramtype

02/12/2005

0

Estou alterando um sistema de BDE para ADO. Gostaria de saber qual é o comando que substitui o paramtype, ou então se é necessário via ADO.

Ex.:

SqlMov.Sql.Clear;
SqlMov.Sql.Add(´Select * from pesquisa where bairro = :Bairro1 and Data between :Data1 and :Data2´);
SqlMov.Parameters.ParamByName(´Bairro1´).DataType:=ftInteger;
SqlMov.Parameters.ParamByName(´Bairro1´)..paramtype:=ptInputOutput;
SqlMov.Parameters(´Bairro1´).Value:= RxDBLookupCombo1.KeyValue;
SqlMov.Parameters.ParamByName(´Data1´).DataType:=ftDate;
SqlMov.Parameters.ParamByName(´Data1´).ParamType:=ptInputOutput;
SqlMov.Parameters.ParamByName(´Data1´).Value:=DataIni.Date;
SqlMov.Parameters.ParamByName(´Data2´).DataType:=ftDate;
SqlMov.Parameters.ParamByName(´Data2´).ParamType:=ptInputOutput;
SqlMov.Parameters.ParamByName(´Data2´).Value:=DataFim.Date;
SqlMov.Prepare;
SqlMov.Open;
SqlMov.First;

Por favor se alguém souber me ajude, pois preciso disso urgente.

Abraço.


Sarnhold

Sarnhold

Responder

Posts

02/12/2005

Marcio.theis

Que eu saiba o seu sql pode ficar somente assim:

SqlMov.Close;
SqlMov.Sql.Clear;
SqlMov.Sql.Add(´Select *´);
SqlMov.Sql.Add(´from pesquisa´);
SqlMov.Sql.Add(´where bairro = :Bairro1´);
SqlMov.Sql.Add(´and Data between :Data1 and :Data2´);
SqlMov.Parameters.ParamByName(´Bairro1´).Value:=RxDBLookupCombo1.KeyValue;
SqlMov.Parameters.ParamByName(´Data1´).Value:=StrToDate(DateToStr(DataIni.Date));
SqlMov.Parameters.ParamByName(´Data2´).Value:=StrToDate(DateToStr(DataFim.Date));
SqlMov.Prepare;SqlMov.Open;
SqlMov.First;



Responder

02/12/2005

Sarnhold

Valeu!!

Eu já havia feito o teste antes, mas valeu mesmo assim.

Agora estou precisando substituir algum comando para o findkey. Vi que tem o comando somente find, mas não consegui descobrir os parâmetros corretos a serem passados.
Ex.:
If (Dm.tbUsuarios.findkey([EdUsuario.Text])) then

Tentei
if dm.tbUsuarios.Recordset.find (´USUARIO=´+EdUsuario.text) then

Deu erro de falta de parâmetros.

Sei que neste caso posso fazer com locate, mas ouvi dizer que o locate se torna muito lento.

Alguém sabe se posso usar somente find e quais os parâmetros que preciso passar?

Por favor, é URGENTE!

Obrigada.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar