数据库是Sql Server2000,典型的C/S模式,客户机和服务器之间是用DataSetProvider和ClientDataSet交互,下面是一段在客户机上请求对服务器上数据库进行添加操作的代码片断:try
with BBB.ClientDataSet2 do//BBB是模块名
begin
//Append;
insert;
Fieldbyname('交易编号').AsString:=Edit1.Text;
Fieldbyname('商品ID').AsString:=Edit2.Text;
Fieldbyname('Price').AsFloat:=StrToFloat(Edit3.Text);
Fieldbyname('Number').AsInteger:=StrToInt(Edit4.Text);
Fieldbyname('小计').AsFloat:=StrToFloat(Edit5.Text);
Fieldbyname('Date').AsDateTime:=StrToDate(Edit6.Text);
post;
ApplyUpdates(0);
ShowMessage('交易提交成功!');
end;
except
ShowMessage('交易提交失败!');
end;
最后执行时有交易提交成功字样出现,但实际上发现却没有进行插入操作,请问为什么?
with BBB.ClientDataSet2 do//BBB是模块名
begin
//Append;
insert;
Fieldbyname('交易编号').AsString:=Edit1.Text;
Fieldbyname('商品ID').AsString:=Edit2.Text;
Fieldbyname('Price').AsFloat:=StrToFloat(Edit3.Text);
Fieldbyname('Number').AsInteger:=StrToInt(Edit4.Text);
Fieldbyname('小计').AsFloat:=StrToFloat(Edit5.Text);
Fieldbyname('Date').AsDateTime:=StrToDate(Edit6.Text);
post;
ApplyUpdates(0);
ShowMessage('交易提交成功!');
end;
except
ShowMessage('交易提交失败!');
end;
最后执行时有交易提交成功字样出现,但实际上发现却没有进行插入操作,请问为什么?
解决方案 »
- 如何实现 delphi sock5 代理设置与更换
- 有无能执行JavaScript函数的控件?
- 为什么我设置clientdataset的active为true的时候会提示这个?
- delphi实现文件下载的问题??急求,分不够可加。。UP有分。
- 请问delphi中和ORACLE的连接问题
- 用query控件sql语句对数据排序后,想依次排名次(即1,2,3...)并显示在dbgrid中?
- bmp图形的透明问题
- 关于QRDBtext组件求教
- 我的问题很难吗?(愿出100分)
- ICMP,IP包头的Delphi声明怎么写?
- 我的数据库密码会经常被改掉??
- 机器里有pascal的进来一下。tp7.0及以下
需要判断ApplyUpdates(0)的返回值
如果返回为0,则为成功,否则为不成功楼主还可以通过profiler进行跟踪查看一下,应该数据是回滚了
这个问题在C/S数据库程序中是很有代表性的,来看帖的朋友们都会有收获的。
另外我事先忘了说了,我用的是Delphi 7.0,而且只会用一点SQL Server2000的企业管理器,你看看用我手头上的这些工具能不能解决问题?如果不行该怎么办?
也欢迎其他高手来留言讨论
而负责两者之间数据交互的我只知道DataSetProvider和ClientDataSet数据控件,在DataAccess面板上,楼上的朋友可以试试
楼主可以用profiler来查看呀。