Mais uma tentativa.......serah q alguem consegue agora?
Esto usando essa rotina para atualizar o bd interbase com acesso dbexpress, qdo executo a ultima linha dah o seguinte erro:
[b:133cd2e644]Incorrect values within SQLDA structure[/b:133cd2e644]
with dm1.qryUpdt do
begin
Close;
SQL.Clear;
SQL.Add(´Update Historico´);
SQL.Add(´ Set HR_SAIDA = :HR_Saida,´);
SQL.Add(´ DT_SAIDA = :DT_Saida´);
SQL.Add(´Where CO_Historico = :Codigo´);
ParamByName(´HR_Saida´).AsDateTime := StrToDateTime(dfmPrincipal.lblHora.Caption);
ParamByName(´DT_Saida´).asDateTime := StrToDateTime(dfmPrincipal.lblData.Caption);
ParamByName(´Codigo´).asInteger := Codigo;
ExecSQL(True);
[b:133cd2e644]Incorrect values within SQLDA structure[/b:133cd2e644]
with dm1.qryUpdt do
begin
Close;
SQL.Clear;
SQL.Add(´Update Historico´);
SQL.Add(´ Set HR_SAIDA = :HR_Saida,´);
SQL.Add(´ DT_SAIDA = :DT_Saida´);
SQL.Add(´Where CO_Historico = :Codigo´);
ParamByName(´HR_Saida´).AsDateTime := StrToDateTime(dfmPrincipal.lblHora.Caption);
ParamByName(´DT_Saida´).asDateTime := StrToDateTime(dfmPrincipal.lblData.Caption);
ParamByName(´Codigo´).asInteger := Codigo;
ExecSQL(True);
K-rol
Curtidas 0
Respostas
K-rol
14/02/2003
obs:
jah tentei passar a hora somente como time, como string
e a data tb.....soh como data, como string
jah tentei passar a hora somente como time, como string
e a data tb.....soh como data, como string
GOSTEI 0
Anonymous
14/02/2003
Como está em sua tabela os campos DT_SAIDA e HR_SAIDA
GOSTEI 0
K-rol
14/02/2003
Dt_Saida = Date
HR_Saida = Time
HR_Saida = Time
GOSTEI 0
Anonymous
14/02/2003
Tente fazer o seguinte, deixe a instrução SQL fixa na query, depois entre na propriedade params da Query de difina o tipo de cada um:
Dt_Saida como ftDate
HR_Saida como ftTime
Codigo como ftInteger
daí no procedimento vc faz apenas isso
with dm1.qryUpdate do
begin
Close;
ParamByName(´Dt_Saida´).Value := StrToDate(frmprincipal.lbldata.caption);
ParamByName(´HR_Saida´).Value := StrToTime(frmprincipal.lbldata.caption);
ParamByName(´Codigo´).Value := codigo;
ExecSQL;
end;
v c vai funcionar, senão manda um e-mail pra mim
nebrio@ig.com.br
até mais
Dt_Saida como ftDate
HR_Saida como ftTime
Codigo como ftInteger
daí no procedimento vc faz apenas isso
with dm1.qryUpdate do
begin
Close;
ParamByName(´Dt_Saida´).Value := StrToDate(frmprincipal.lbldata.caption);
ParamByName(´HR_Saida´).Value := StrToTime(frmprincipal.lbldata.caption);
ParamByName(´Codigo´).Value := codigo;
ExecSQL;
end;
v c vai funcionar, senão manda um e-mail pra mim
nebrio@ig.com.br
até mais
GOSTEI 0
Simas
14/02/2003
with dm1.qryUpdt do
begin
Close;
Clear;
SQL.Add(´Update Historico´);
SQL.Add(´ Set HR_SAIDA = ´´´ + fmPrincipal.lblHora.Caption + ´´´´);
SQL.Add(´ DT_SAIDA = ´´´ + dfmPrincipal.lblData.Caption + ´´´´);
SQL.Add(´Where CO_Historico = ´ + IntToStr(Codigo));
ExecSQL;
...
end
So tem que verificar qual o formato de data/hora q tu esta passando se e igual ao formato do banco que esta usando....
begin
Close;
Clear;
SQL.Add(´Update Historico´);
SQL.Add(´ Set HR_SAIDA = ´´´ + fmPrincipal.lblHora.Caption + ´´´´);
SQL.Add(´ DT_SAIDA = ´´´ + dfmPrincipal.lblData.Caption + ´´´´);
SQL.Add(´Where CO_Historico = ´ + IntToStr(Codigo));
ExecSQL;
...
end
So tem que verificar qual o formato de data/hora q tu esta passando se e igual ao formato do banco que esta usando....
GOSTEI 0