急! 求救,在线等候 三层结构,客户端有一clientdataset控件。以前程序还好好的,今天运行,在增加数据提交applyupdates(0)的时候出错,显示"key violation"。请问该如何解决。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的库append时和原记录有重复(或者在不重复关键字段上有重复)。 有啊,有一个ID(主键)关联着另一个表ID(从表).该如何解决? 急! 我的表除了ID不允许空之外,其他都可以为空,我试过在程序里面只是if ClientDataSet1.CanModify thenbeginClientDataSet1.Append;ClientDataSet1.FieldByName('name').Value:=name.Text;ClientDataSet1.applyupdates(0);end;这样也出错。 该如何解决呢?我更新的表是主表,外接着一个从表的。clientdataset1 ---> master表clientdataset2 ---> detail表 估计,你的clientdataset1关系混乱了.你重新建一个clientdataset的联接,如果不行,再检查数据库也不迟. 你的主健没有赋值,if ClientDataSet1.CanModify thenbeginClientDataSet1.Append;ClientDataSet1.FieldByName('ID').Value := xxxx; //加上这一句,且不能与原主健值重复ClientDataSet1.FieldByName('name').Value:=name.Text;ClientDataSet1.applyupdates(0);end; 像这clientdataset不能添加数据,这种问题我也遇到过.最终也是搞不清哪里出错,数据库一般是没有问题的.所以你新建一个clientdataset试试了.我现在在客户端一般都不用clientdataset,直接把添加的记录以字符串的形式传回到后台. maozefa(之源),我的主键'ID'是自动累加值,所以不能指定的。 那证明你的自动累加出毛病,因为错误"key violation"确实是关键字违规。 之间我没有做master/detail 前是正常的。我甚至在sql server里面直接用sql 语句insert 也行,但在程序里面即使我用clientdataset.commandtext=.... 也提示这样 既然如此,建议你在主表Append前,解除Master/Detail关系,更新后再挂上来。 Master/Detail关系在中间层啊!!!如果解除了,那detail资料也无法显示了 windows问题吧,建意到别的系统上使用一下试试…我的程序在98下一会好,一会不好,到2000下就没问题 已经设置中间层的Master/Detail关系,客户端就不能再设置Master/Detail关系。你的问题可能就在这里。 关于对象传递的问题-----------大虾请帮看看 flash如何透明 paradox数据库密码丢失了,怎么办啊??!!急 急!!!大牛们,来看看啊~~~ 惊闻:Blake Stone,Chuck Jazdzewski 离开borland了!末日是否已来临??? 我的win2000server IIS中以前可是好好的,现在为什么不能运行ISAPI的.DLL了? FAST REPORT控件怎么安装? TListView问题 驱动级ie插件找人写 大家在delphi5中编写dll文件是怎样调试的? 请问Formula One这个问题你碰到过没有? 控件问题!
该如何解决? 急!
if ClientDataSet1.CanModify then
begin
ClientDataSet1.Append;
ClientDataSet1.FieldByName('name').Value:=name.Text;
ClientDataSet1.applyupdates(0);
end;这样也出错。
clientdataset1 ---> master表
clientdataset2 ---> detail表
你重新建一个clientdataset的联接,如果不行,再检查数据库也不迟.
begin
ClientDataSet1.Append;
ClientDataSet1.FieldByName('ID').Value := xxxx; //加上这一句,且不能与原主健值重复
ClientDataSet1.FieldByName('name').Value:=name.Text;
ClientDataSet1.applyupdates(0);
end;
我甚至在sql server里面直接用sql 语句insert 也行,但在程序里面即使我用clientdataset.commandtext=.... 也提示这样
我的程序在98下一会好,一会不好,到2000下就没问题