delphi三层写入服务端数据库问题
想请教一个delphi三层的问题
服务器端adoconnecttion连接access数据库,然后使用adotable以及dataprovider控件
客户端是使用socketconnecttion,clientdataset,datasource
当写入一条数据时能正常写入服务端的数据库
客户端代码如下
procedure TForm1.Button1Click(Sender: TObject);
begin
clientdataset1.Active:=true;
clientdataset1.Insert;
clientdataset1.FieldByName('bookno').AsString:=edit1.Text;
clientdataset1.Post;
clientdataset1.ApplyUpdates(0);
end;
当写入多条数据时,能写入内存,能在dbgrid中显示新插入的数据,但不能写入数据库,请教高手
客户端语句如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
clientdataset1.Active:=true;
clientdataset1.Insert;
clientdataset1.FieldByName('bookno').AsString:=edit1.Text;
clientdataset1.FieldByName('stuno').AsString:=edit2.Text;
clientdataset1.FieldByName('code').AsString:=edit3.Text;
clientdataset1.Post;
clientdataset1.ApplyUpdates(0);
end;
只有这么多分了,请大家帮帮忙分析一下,是什么原因造成的
[解决办法]
看数据表结构
[解决办法]
把服务端的TDataSetProvider的ResolveToDataSet属性改成True试试
[解决办法]
尽量用SQL语句吧,
clientdataset1.ApplyUpdates(0);
这样操作不是很稳定,我们测试过,
[解决办法]
clientdataset1.ApplyUpdates(0); //当时用这个测试时,发现时好时坏,最后改为sql语句,