为什么单纯的clientdataset.applyupdates(0)不能更新key值? ( 积分: 50 )

  • 主题发起人 主题发起人 悟空1
  • 开始时间 开始时间

悟空1

Unregistered / Unconfirmed
GUEST, unregistred user!
俺按照李维的soap书上写个例子,但是不能更新回sql2000的数据库
用dbexpress连接数据库就有问题,
总说job_id应该有值,用ado就没有这个问题,应该怎么解决?
job_id是key,数据库自动增加1的field
 
俺按照李维的soap书上写个例子,但是不能更新回sql2000的数据库
用dbexpress连接数据库就有问题,
总说job_id应该有值,用ado就没有这个问题,应该怎么解决?
job_id是key,数据库自动增加1的field
 
哦,明白了,是数据append后没有post,如果post后数据会自动更新到第一行,
不过还有个问题,就是,该表格的key列是sql2000自动+1生成的,所以我在append
的时候没有添加,也就是说,如果连续append数据,会出现key violation
是怎么会事?应该怎么处理?
 
key vilolation是違背了鍵值的定義﹐
在你append時﹐自動增加不會有關系的﹐
可能是你的那個字段設的位數小﹐而這次錄入的字段位數大﹐就會出現這樣的情況
 
applyupdates以后Refresh一次。
 
你增加記錄時得順序應該是:
clientdataset1.append或者是insert
clientdataset1.post;
clientdataset1.applyupdates(0);
還有你也可以用sql語句直接實現增加
 
但是俺用ado连接数据库就没有问题,用dbexpress连接数据库就有问题,
总说job_id应该有值,用ado就没有这个问题,应该怎么解决?
job_id是key,数据库自动增加1的field
 
有时候单次更新可以,但是多次更新就出错,如何是好?
 
多人接受答案了。
 
后退
顶部