有关于COM+对象对SQL数据库有自增字段ID进行更新时的错误。(100分)

  • 主题发起人 主题发起人 sbh410
  • 开始时间 开始时间
S

sbh410

Unregistered / Unconfirmed
GUEST, unregistred user!
如果SQL数据库中有自增字段ID时进行修改时,调用更新对象时,就会有错误。
因为当把数据包(clientdataset.delta)传回去时,数据包里不知道ID。所以就会产生错误。
要重新查询才可以更新。这样很不好,因为每修改一条记录更新时就要重新查询一遍数据库。
有没有好的方法解决这个问题。期待!
 
直接用SQL语句。
 
这个我知道,但是很不方便的。所以不能用了。
 
将你的App Server端接口改为ADO,Client端用ApplyUpdates(),加入事务处理语句。
 
我的客户端不能调用ApplyUpdates(),因为我的客户端只有CLIENTDATASET,
这个CLIENTDATSET只接受服务器传过来的数据,所以不能这样。
更新只是送数据包(CLIENTDATSET。DELTA)回去。
而且我也知道有ID时,如果不用COM+对象,ApplyUpdates(),也是错误的。
还有你说的事物处理应该怎么做。
 
估计你的ID Data Type 是 TimeStamp ,那你可以使用 Ms-Sql2000
的视图更新 触发器解决(如有不清楚,可参考Ms-Sql2000的联机文档)
 
ID 是的数据类型是自增类型。
 
将ID定义成整形,自己进行赋值。可再建一个记录ID最大值(下一个ID值)的表,再加一个
取ID值的存储过程来解决最好了。
 
那个ID怎么放的,那个对象是把 修改过的记录整条传过去的。
 

Similar threads

S
回复
0
查看
730
SUNSTONE的Delphi笔记
S
S
回复
0
查看
738
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部