Migração para Delphi 2005
04/11/2005
0
Estou migrando meu sistema de delphi 7 para o delphi 2005(Win 32)
Utilizo o Interbase 6 com DbExpress
O Sistema compilou normalmente no delphi 2005 sem erros, porem estou com um problema na hora de passar um paramentro no TSqlDataSet
Utilizo TSQLDataSet + TDataSetProvider + TClientDataSet + TDataSource para acesso ao banco
o Problema esta na hora de mudar um parametro do TSQLDataSet
por exemplo:
iCod:= 1;
cdsParticipante.Close;
dtsParticipante.Close;
dtsParticipante.Params.ParamByName(´CODPARTICIPANTE´).AsInteger:= iCod;
cdsParticipante.Open;
na primeira vez que passo o parametro ´CODPARTICIPANTE´, o ClientDataSet me retorna o registro correto, o Participante do Codigo 1
mas se em seguida eu repetir esse proceso mudando o iCod para 2, ele volta o valor parametro para 1 automaticamente no momento em que dou o Open no ClientDataSet e me tras o registro anterior (o Participante do Codigo 1) ao inves do Participante do Codigo 2
Nao consigo entender porque esta acontecendo isso, pois essa mesma rotina funcionava normalmente do delphi 7
alguem ja passou por essa situacao?
Utilizo o Interbase 6 com DbExpress
O Sistema compilou normalmente no delphi 2005 sem erros, porem estou com um problema na hora de passar um paramentro no TSqlDataSet
Utilizo TSQLDataSet + TDataSetProvider + TClientDataSet + TDataSource para acesso ao banco
o Problema esta na hora de mudar um parametro do TSQLDataSet
por exemplo:
iCod:= 1;
cdsParticipante.Close;
dtsParticipante.Close;
dtsParticipante.Params.ParamByName(´CODPARTICIPANTE´).AsInteger:= iCod;
cdsParticipante.Open;
na primeira vez que passo o parametro ´CODPARTICIPANTE´, o ClientDataSet me retorna o registro correto, o Participante do Codigo 1
mas se em seguida eu repetir esse proceso mudando o iCod para 2, ele volta o valor parametro para 1 automaticamente no momento em que dou o Open no ClientDataSet e me tras o registro anterior (o Participante do Codigo 1) ao inves do Participante do Codigo 2
Nao consigo entender porque esta acontecendo isso, pois essa mesma rotina funcionava normalmente do delphi 7
alguem ja passou por essa situacao?
Danilodcf
Curtir tópico
+ 0
Responder
Posts
05/11/2005
Bon Jovi
O correto é setar no clientdataset:
iCod:= 1;
cdsParticipante.Close;
cdsParticipante.Params.ParamByName(´CODPARTICIPANTE´).AsInteger:= iCod;
cdsParticipante.Open;
iCod:= 1;
cdsParticipante.Close;
cdsParticipante.Params.ParamByName(´CODPARTICIPANTE´).AsInteger:= iCod;
cdsParticipante.Open;
Responder
Clique aqui para fazer login e interagir na Comunidade :)