Fórum ClientDataSet não aceita o parametro do tipo Data #239176
23/06/2004
0
Estou migrando para a dupla (Delphi 7 c/ Interbase 6.5), e tá dificil de fazer com que o ClientDataSet aceite o parametro do tipo Data em tempo de execução, já tentei mudar o tipo do paramentro do ClienteDataSet e da Função (abaixo) para DateTime e SQLTimeStamp e até String, sempre dá o seguinte erro:
´Could not convert variant of type (null) into type (string)´
Sendo que ja conferi todos os parametros durante a execução e nenhum deles fica Nullo (sem valor), alguem sabe o q poderia ser?
Minha função:
function TDMLevant.SeleInspe(CNPJ:string; SETOR:string; DATA: string; LOGIN:string):integer;
begin
with cdsInspCada do
begin
Close;
Params.ParamByName(´CNPJ´).AsString := CNPJ;
Params.ParamByName(´SETOR´).AsString := SETOR;
Params.ParamByName(´LOGIN´).AsString := LOGIN;
Params.ParamByName(´DATA´).AsDate := StrToDate(DATA);
Open;
result := RecordCount;
end;
end;
Valeu gente
Carlinhos
Carvajal
Curtir tópico
+ 0Posts
23/06/2004
Afarias
T+
Gostei + 0
23/06/2004
Carvajal
if (DMLevant.SeleInspe(DM.cdsEmprSeleCNPJEMPR.Value, SetoSele, DataSele, LogiSele) > 0) then
StatusBar1.Panels.Items[0].Text := ´Conectado´ else
MessageDlg(´Não foi possível localizar a Inspeção!´,MtError,[MbOk],0);
Todos os parametros são do tipo string e estão sendo carregados devidamente, sendo que a data segue o formato: dd/mm/yyyy, será que pode ser isso?
Valeu
Gostei + 0
23/06/2004
Afarias
DM.cdsEmprSeleCNPJEMPR.Value
por::
DM.cdsEmprSeleCNPJEMPR.AsString
e, espero que SetoSele, DataSele e LogiSele sejam variáveis String!
T+
Gostei + 0
23/06/2004
Carvajal
Ainda não foi desta vez amigo, confirmei o tipo das variaveis (SetoSele, DataSele, LogiSele), todas são string e foram devidamente carregados antes da execução da função.
Tentei mudar a variavel DATA de string para DateTime, fazendo os devido ajuste, e nada, só o erro que muda, em vez de dar pau por valor nulo em string, dá por valor nulo em Double, não sei de onde ele tira esse valor nulo.
Minha Base foi criada em Dialeto 1, influi em alguima coisa?
Valeu a força
CARLINHOS
Gostei + 0
23/06/2004
Afarias
DM.cdsEmprSeleCNPJEMPR.Value
por::
DM.cdsEmprSeleCNPJEMPR.AsString
?????
T+
Gostei + 0
23/06/2004
Carvajal
Tudo indica que o problema ocorre na execução da linha:
Params.ParamByName(´DATA´).AsDate := StrToDate(DATA);
O Erro ocorre sempre quando referencia um campo tipo DATA ou melhor SQLTimeStamp, engraçado é q o SQL roda redondo no IBExpert e no IBConsole :!:
:cry:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)