注册 登录
编程论坛 Delphi论坛

求助:数据库更新问题。谢谢各位大侠!!!

cdbqh 发布于 2015-01-27 11:56, 2599 次点击
我编写了个C/S架构程序,服务端是采用了adoquery和datasetprovider两个控件处理数据库操作,利用datasetprovider的datarequest事件接受客户端发送的命令。我在客户端使用socketconnection连接服务端,通过clientdataset的datarequest传递sql命令,命令执行都没有问题。我现在想对数据库更新完毕后,如果接收到执行成功,立即在dbgrid中显示更新后的数据库。程序如下:
服务端代码:
DataSetProviderDataRequest(Sender: TObject;  
  Input: OleVariant): OleVariant;
begin
 try
 with adoquery do
 begin
  Close;
  SQL.Clear;
  SQL.Add(input);
  ExecSQL  ;
  result:='ok';
  end;
 except
 result:='false'   ;
 end;
end;
客户端代码:
   clientdataset1.Close;
   fhz:=clientdataset1.DataRequest(sql的update命令) ;
   clientdataset1.Execute;
   if fhz='ok' then
     begin
     application.messagebox('修改成功','操作提示',MB_OK);
    此处为重新显示更新后数据库代码
     end
      else
       application.messagebox('修改失败','操作提示',MB_OK);

但是收到修改成功提示后,如果点击确认按钮速度快,数据库没有立即更新(有事也会很快显示更新后数据库)。过个几秒钟,再通过查询命令可以显示更新后数据库。不知是什么原因?是不是数据库没有真正更新完毕,怎样判断数据库是否更新完毕?谢谢各位大侠!!!
0 回复
1