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;
最后执行时有交易提交成功字样出现,但实际上发现却没有进行插入操作,请问为什么?
10 个解决方案
#1
有没有设为批量更新啊?
#2
请问什么是批量更新啊?你能不能说具体点原因?我听不懂
#3
提示交易成功并不一定成功的插入了
需要判断ApplyUpdates(0)的返回值
如果返回为0,则为成功,否则为不成功
楼主还可以通过profiler进行跟踪查看一下,应该数据是回滚了
需要判断ApplyUpdates(0)的返回值
如果返回为0,则为成功,否则为不成功
楼主还可以通过profiler进行跟踪查看一下,应该数据是回滚了
#4
哦,请问什么是数据回滚,有什么办法解决吗?
#5
楼上叫段海那位大虾能不能把原因或者解决办法说得详细一点儿,我很菜,不过我真的希望能够把这个问题弄清楚。
这个问题在C/S数据库程序中是很有代表性的,来看帖的朋友们都会有收获的。
另外我事先忘了说了,我用的是Delphi 7.0,而且只会用一点SQL Server2000的企业管理器,你看看用我手头上的这些工具能不能解决问题?如果不行该怎么办?
也欢迎其他高手来留言讨论
这个问题在C/S数据库程序中是很有代表性的,来看帖的朋友们都会有收获的。
另外我事先忘了说了,我用的是Delphi 7.0,而且只会用一点SQL Server2000的企业管理器,你看看用我手头上的这些工具能不能解决问题?如果不行该怎么办?
也欢迎其他高手来留言讨论
#6
Server2000的企业管理器里有事件跟踪查看
#7
楼主,你好!我最近也是打算开发和你一样模式的MIS,同样是SQL SERVER!可是到现在一点头绪都没有,不知用什么控件来实现C,S的通讯以及数据集的传输。不知道你主要使用那些控件和方法实现这些操作的,可以给我些建议吗!!谢谢
我在很多帖子上看到他们用DCOM来实现数据库三层 的模式,据说这个可以自动识别局域网内的客户端,以及可以传输整个数据集, 可是我没弄清到底怎么用,请有这类开发经验的高手来指点指点吧,给我们这些菜鸟一些建议。谢谢啦
我在很多帖子上看到他们用DCOM来实现数据库三层 的模式,据说这个可以自动识别局域网内的客户端,以及可以传输整个数据集, 可是我没弄清到底怎么用,请有这类开发经验的高手来指点指点吧,给我们这些菜鸟一些建议。谢谢啦
#8
顶一下
#9
DCOM的确可以实现数据库三层的模式,它在服务器和客户端之间主要起连接作用,
而负责两者之间数据交互的我只知道DataSetProvider和ClientDataSet数据控件,在DataAccess面板上,楼上的朋友可以试试
而负责两者之间数据交互的我只知道DataSetProvider和ClientDataSet数据控件,在DataAccess面板上,楼上的朋友可以试试
#10
数据回滚,也就是回复到以前的状态。
楼主可以用profiler来查看呀。
楼主可以用profiler来查看呀。
#1
有没有设为批量更新啊?
#2
请问什么是批量更新啊?你能不能说具体点原因?我听不懂
#3
提示交易成功并不一定成功的插入了
需要判断ApplyUpdates(0)的返回值
如果返回为0,则为成功,否则为不成功
楼主还可以通过profiler进行跟踪查看一下,应该数据是回滚了
需要判断ApplyUpdates(0)的返回值
如果返回为0,则为成功,否则为不成功
楼主还可以通过profiler进行跟踪查看一下,应该数据是回滚了
#4
哦,请问什么是数据回滚,有什么办法解决吗?
#5
楼上叫段海那位大虾能不能把原因或者解决办法说得详细一点儿,我很菜,不过我真的希望能够把这个问题弄清楚。
这个问题在C/S数据库程序中是很有代表性的,来看帖的朋友们都会有收获的。
另外我事先忘了说了,我用的是Delphi 7.0,而且只会用一点SQL Server2000的企业管理器,你看看用我手头上的这些工具能不能解决问题?如果不行该怎么办?
也欢迎其他高手来留言讨论
这个问题在C/S数据库程序中是很有代表性的,来看帖的朋友们都会有收获的。
另外我事先忘了说了,我用的是Delphi 7.0,而且只会用一点SQL Server2000的企业管理器,你看看用我手头上的这些工具能不能解决问题?如果不行该怎么办?
也欢迎其他高手来留言讨论
#6
Server2000的企业管理器里有事件跟踪查看
#7
楼主,你好!我最近也是打算开发和你一样模式的MIS,同样是SQL SERVER!可是到现在一点头绪都没有,不知用什么控件来实现C,S的通讯以及数据集的传输。不知道你主要使用那些控件和方法实现这些操作的,可以给我些建议吗!!谢谢
我在很多帖子上看到他们用DCOM来实现数据库三层 的模式,据说这个可以自动识别局域网内的客户端,以及可以传输整个数据集, 可是我没弄清到底怎么用,请有这类开发经验的高手来指点指点吧,给我们这些菜鸟一些建议。谢谢啦
我在很多帖子上看到他们用DCOM来实现数据库三层 的模式,据说这个可以自动识别局域网内的客户端,以及可以传输整个数据集, 可是我没弄清到底怎么用,请有这类开发经验的高手来指点指点吧,给我们这些菜鸟一些建议。谢谢啦
#8
顶一下
#9
DCOM的确可以实现数据库三层的模式,它在服务器和客户端之间主要起连接作用,
而负责两者之间数据交互的我只知道DataSetProvider和ClientDataSet数据控件,在DataAccess面板上,楼上的朋友可以试试
而负责两者之间数据交互的我只知道DataSetProvider和ClientDataSet数据控件,在DataAccess面板上,楼上的朋友可以试试
#10
数据回滚,也就是回复到以前的状态。
楼主可以用profiler来查看呀。
楼主可以用profiler来查看呀。