delphi左连接表时 使用clientdataset.applyUpdate 没有报错但是也没有保存到数据库

yc_chongchong 2012-11-08 06:23:02
求高手赐教
我用一个dbgrid显示数据,要连接到别的表,所以用了左连接,另一个form上面放填写的控件,填完了在这个然后在这个有dbgrid的form使用cds.fieldbyname('').asstring之类的把数据显示出来,但是单击保存的时候使用cds1.applyupdate(-1)把数据提交到数据库时,没有报错,可是数据库也没有数据
...全文
240 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bladz 2012-11-09
  • 打赏
  • 举报
回复
假设只修改表1的数据,可以这样 表2(id,字段2) -> dsp2 -> cds2 表1(id,字段1) -> dsp1 -> cds1 -> ds1 -> dbgrid(id,字段1,字段2) commandtext中写上 select * from 表2/表1 cds1,cds2 双击打开Fields Editor,Add all fields cds1中再New field, type 选 lookup,key 选 id,dataset 选 cds2,lookup key选id,result选字段2. 改动cds1后,用cds1.applyupdate(0);
yc_chongchong 2012-11-09
  • 打赏
  • 举报
回复
引用 3 楼 luoshunhong 的回复:
连接的内容是不会显示在数据库中,除非你将连接后的内容存入数据库表中
我有提交啊 使用cds.applyUpdate(-1) 这个是不是多表不能更新 我换成单表后就可以更新到数据库
yc_chongchong 2012-11-09
  • 打赏
  • 举报
回复
引用 5 楼 case5166 的回复:
曾经有一个据说DELPHI七年了的人来我们公司面试,也说到过这个情况。--让我回想起“一个人去面试,说自己有十年工作经验,面试完后经理说你只有一年工作经验,只是重复了十年而已。”悲剧的事情太多了。
可能十年工作只用到这个一次
yc_chongchong 2012-11-09
  • 打赏
  • 举报
回复
引用 6 楼 bladz 的回复:
我个人觉得,用cds.applyUpdate(-1) 不是一个好习惯。 cds.applyUpdate(-1)不报错,不代表没错。 cds.applyUpdate(0)估计就会出错。 这种情况,可以不用左连接,先在cds2里打开原来左连接的表,再在cds里加Lookup字段关联cds2,来处理。
大侠能举个简单的例子么
bladz 2012-11-09
  • 打赏
  • 举报
回复
我个人觉得,用cds.applyUpdate(-1) 不是一个好习惯。 cds.applyUpdate(-1)不报错,不代表没错。 cds.applyUpdate(0)估计就会出错。 这种情况,可以不用左连接,先在cds2里打开原来左连接的表,再在cds里加Lookup字段关联cds2,来处理。
我看见佛 2012-11-09
  • 打赏
  • 举报
回复
曾经有一个据说DELPHI七年了的人来我们公司面试,也说到过这个情况。--让我回想起“一个人去面试,说自己有十年工作经验,面试完后经理说你只有一年工作经验,只是重复了十年而已。”悲剧的事情太多了。
luoshunhong 2012-11-08
  • 打赏
  • 举报
回复
连接的内容是不会显示在数据库中,除非你将连接后的内容存入数据库表中
yc_chongchong 2012-11-08
  • 打赏
  • 举报
回复
引用 1 楼 SQLDebug_Fan 的回复:
DELPHI三层?
是的 求解
SQLDebug_Fan 2012-11-08
  • 打赏
  • 举报
回复
DELPHI三层?

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧