三层数据更新的一个问题!!!(100分)

  • 主题发起人 主题发起人 ch_100755
  • 开始时间 开始时间
C

ch_100755

Unregistered / Unconfirmed
GUEST, unregistred user!
现在我有一个表,我在用clientdateset的applyupdates(0)会出现如下错误:
Invalid column name 'repair_failure'
其中repair_failure为表的字段,查过所有的字段都没有错误。
不知那位大侠有遇到过这样的问题!
另请教各位做三层的兄弟数据更新时是利用什么方式,是数据敏感控件还是其它,最好给出代码?

 
>>Invalid column name 'repair_failure'
字段名稱不正确.
把字段改名試試.
 
试过还是不行
 
repair_failure的類型是什麼?
 
'repair_failure'如果是Join过来的且不用更新的话,那么把它的ProviderFlags的
PfinUpdata 和 PfinWhere设为Flase吧,服务器端也一样
 
repair_failure就是一般的字符型也不是JOIN过来的,不仅是这一个字段所有的字段都是这样我查过clientdataset的delte没有看出什么问题
但是好象在调用applyupdates(0)时delte没有值传过去
 
我把dataprovider的ResolveToDataSet设为True.显示错误为
无法插入空行。行必须至少有一个列值集。
 
是我自己错了,问题解决了,继续讨论第二个问题,请各位说说自己数据的更新方式:
1、利用SQL进行更新。如:
clientdataset.close ;
clientdataset.commandtext :='update ......' ;
clientdataset.execute ;
2、利用数据库敏感控件进行更新,在dbedit,dbgrid等控件中更件完毕后用clientdataset.applyupdates(0)更新
3、利用一般控件对数据字段赋值更新,如:
clienddataset.edit ;
clientdataset.fieldbyname("...").asstring :=edit1.text ;
....
clientdataset.post ;
clientdataset.applyupdates(0) ;
 
1最多
2方便
3、用的较少
 
2、利用数据库敏感控件进行更新,在dbedit,dbgrid等控件中更件完毕后用
try
clientdataset.applyupdates(0)
except
on e:exceptiondo
showmessage(.............)
end;
更新
 
后退
顶部