以文本方式查看主题 - 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 ,就不会出现删除重复的情况了。 |