Array
(
)

paramtype

Sarnhold
   - 02 dez 2005

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.


Marcio.theis
   - 02 dez 2005

Que eu saiba o seu sql pode ficar somente assim:

#Código

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;



Sarnhold
   - 02 dez 2005

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.