delphi2010+odac 6.90.0.53 update error!
delphi2010+odac 6.90.0.53 update error!
my oracle version is 10.2.0.4
delphi 2010.
ODAC in direct mode.
create table USERDATA
(
USERID NUMBER(22),
STIME DATE,
ETIME DATE,
BZ VARCHAR2(10)
)
with cx do
begin
close;
SQL.Clear;
SQL.Add('UPDATE USERDATA SET ETIME=SYSDATE, BZ=:BZ');
SQL.Add('WHERE USERID=:USERID');
ParamByName('USERID').Asstring:= '48';
ParamByName('BZ').AsString := 'logout';
Execute; // show unknown error 1!
end;
if changed to
with cx do
begin
close;
SQL.Clear;
SQL.Add('UPDATE USERDATA SET ETIME=SYSDATE, BZ=:BZ');
SQL.Add('WHERE USERID=:USERID');
ParamByName('USERID').Asinteger:= strtoint('48');
ParamByName('BZ').AsString := 'logout';
Execute;
end;
It works fine!
but in SELECT , INSERT ParamByName('USERID').Asstring:= '48' works fine.
delphi 2010.
ODAC in direct mode.
create table USERDATA
(
USERID NUMBER(22),
STIME DATE,
ETIME DATE,
BZ VARCHAR2(10)
)
with cx do
begin
close;
SQL.Clear;
SQL.Add('UPDATE USERDATA SET ETIME=SYSDATE, BZ=:BZ');
SQL.Add('WHERE USERID=:USERID');
ParamByName('USERID').Asstring:= '48';
ParamByName('BZ').AsString := 'logout';
Execute; // show unknown error 1!
end;
if changed to
with cx do
begin
close;
SQL.Clear;
SQL.Add('UPDATE USERDATA SET ETIME=SYSDATE, BZ=:BZ');
SQL.Add('WHERE USERID=:USERID');
ParamByName('USERID').Asinteger:= strtoint('48');
ParamByName('BZ').AsString := 'logout';
Execute;
end;
It works fine!
but in SELECT , INSERT ParamByName('USERID').Asstring:= '48' works fine.
Last edited by xalion on Wed 18 Nov 2009 01:26, edited 1 time in total.
-
- Posts: 29
- Joined: Thu 09 Jun 2005 06:23
- Location: Bern, Switzerland
-
- Posts: 29
- Joined: Thu 09 Jun 2005 06:23
- Location: Bern, Switzerland