J
jackeysb
Unregistered / Unconfirmed
GUEST, unregistred user!
我刚学的三层,想实现下面的一个目的:
客户端一个dbgrid,显示服务端的一个表dada,显示如下:
field1 field2 field3 field4 field5
a a a a1
b b b b1
c c c c1 field1做的主索
现我想在改变b1或c1或b1,c1一起改变后,在相应更改了的记录的field字段里加上服务器的时间,我在服务端的DataSetProvider中的BeforeUpdateRecord事件里对DeltaDS处理,代码如下:
with DeltaDSdo
begin
First;
while not Eofdo
begin
if UpdateStatus = usModified then
begin
Edit;
FieldByName('out_time').asdatetime:=date;
Post;
end;
Next;
end;
end;
可是更该不了数据,服务端的DataSetProvider的updatamode=upWhereChanged,tquery的requestlive=true,为甚么不行呢,试了一下只留下下面的代码:
DeltaDS.Edit;
DeltaDS.FieldByName('out_time').asdatetime:='aaaaa';
DeltaDS.Post;
得到的结果是不管你在dagrid上更改哪条记录,数据库只会更该第一条记录,为甚么呢
我刚学的三层,是还有哪我没设还是我的程序的问题??各位大虾帮帮我!!!
客户端一个dbgrid,显示服务端的一个表dada,显示如下:
field1 field2 field3 field4 field5
a a a a1
b b b b1
c c c c1 field1做的主索
现我想在改变b1或c1或b1,c1一起改变后,在相应更改了的记录的field字段里加上服务器的时间,我在服务端的DataSetProvider中的BeforeUpdateRecord事件里对DeltaDS处理,代码如下:
with DeltaDSdo
begin
First;
while not Eofdo
begin
if UpdateStatus = usModified then
begin
Edit;
FieldByName('out_time').asdatetime:=date;
Post;
end;
Next;
end;
end;
可是更该不了数据,服务端的DataSetProvider的updatamode=upWhereChanged,tquery的requestlive=true,为甚么不行呢,试了一下只留下下面的代码:
DeltaDS.Edit;
DeltaDS.FieldByName('out_time').asdatetime:='aaaaa';
DeltaDS.Post;
得到的结果是不管你在dagrid上更改哪条记录,数据库只会更该第一条记录,为甚么呢
我刚学的三层,是还有哪我没设还是我的程序的问题??各位大虾帮帮我!!!