以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 关于删除当前命令执行后删除两行的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56601)

--  作者:2lg
--  发布时间:2014/9/9 15:50:00
--  [求助] 关于删除当前命令执行后删除两行的问题
数据录入时,自动增行时(复制上一行内容,但不复制其中卷号),并给卷号赋初值 ,如果从录入窗体返回时,无论是程序内部 删除当前行 .current.delete 删除会删掉两行,手工执行命令窗口也是同样的效果。因为论坛限制不方便上传,我上传了录像在群共享里。
请教是不是状态不对,还是其他原因。

--  作者:Bin
--  发布时间:2014/9/9 15:53:00
--  
做个例子发上来看看吧,纸上不谈兵,或者联系官方QQ800014337 把例子发过去
--  作者:有点甜
--  发布时间:2014/9/9 15:55:00
--  
 你做个简单的例子发上来,不知道你怎么写代码,怎么知道怎么帮你改?
--  作者:飞飞
--  发布时间:2014/9/9 15:56:00
--  
 第二行没保存吧?


--  作者:2lg
--  发布时间:2014/9/9 20:30:00
--  
因为是外部数据源,我转换成ACCESS后,重新添加设置了主键_Identify后他就没有问题了。我怀疑出在主键的问题上。后来跟踪了数据库,果然如此了。.current.delete 是以删除当前主键值为条件的。以前主键是两个组合起来禁止重复的。删除语句是类似这样的 , exec sp_executesql N\' DELETE FROM [copp_instore] WHERE (([fno] = @P1) AND ([fsn] = @P2))\',N\'@P1 char(18),@P2 int\',\'K14090006         \',10  。 可能因为我添加记录时自动复制了最后行,两个关键字有重复值。 修改主键后是这样的了。
exec sp_executesql N\'DELETE FROM [copp_instore] WHERE (([_Identify] = @P1))\',N\'@P1 int\',47 ,就不会出现删除重复的情况了。