怪!怪!怪!在C/S三层结构中,在为何applyupdates(0)后乱存盘(内详)?(100分)

  • 主题发起人 主题发起人 dana
  • 开始时间 开始时间
D

dana

Unregistered / Unconfirmed
GUEST, unregistred user!
ClientDataSet1数据显示在dbgridr控件中,
我只修改其中的一条数据后,执行applyupdates(0)后,
数据库的其它记录也跟着一起被修改了,这是为何?
我修改一条记录后.
我就是执行了applyupdates(0)后,
存入数据库的记录变了,不只修改了一条,而是被修改了好几条记录.
 
是不是你的数据库用了触发器/或者在Provider的某个事件中写了企业逻辑。
 
是啊!这你就得检查你的程序和数据库了。
 
我并没有做任何特殊的事件只是单一的打开数据库,然后编辑再提交
只要执行了这条 applyupdates(0);就发现数据库的数据全乱来了。

 
你先看看改的是哪几条记录,这几条记录有何联系,这种情况肯定是在某个地方执行了条件
修改语句(如在触发器中),仔细找找吧!
 
没有,你指的触发器是什么,我并没有定义什么其它的。
 
数据库是你定义的吗?
 
如果你用的BDE连接,用SQL Monitor看一下,在applyupdates(0);执行了什么SQL语句,
SQLSERVER用SQLProfile看。
 
SQL Monitor中如何看,我怎么看不到。
 
看一下帮助吧,使用是很简单的,它可以截获由Delphi产生的所有SQL语句。
 
看看datasetprovider的UpdateMode是否设为upWhereAll即字段完全匹配才更新。
 
我已将datasetprovider的UpdateMode设为upWhereAll
我使用的是paradox 如何在SQL Monitor中查看sql执行语句。
 
我是使用BDE进行连接的。
 
SQL Monitor要在服务器运行之前开才能得到监视内容。
也可能是数据库里有脏数据,清空数据再试试。
 
我就是在服务器运行之前打开的,可SQL Monitor还是提示disconnected
 
你只好先用SQL Monitor看一下了。
 
具体是如何查看。
 
我是使用BDE连接可以查看吗?
 
后退
顶部