Foxtable(狐表)用户栏目专家坐堂 → sql语句没有保存,有什么可能性?


  共有1404人关注过本帖树形打印复制链接

主题:sql语句没有保存,有什么可能性?

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111422 积分:567186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/13 10:56:00 [显示全部帖子]

所有执行过的sql肯定都会被保留的。

另外profiler 只是记录执行了什么sql,但是sql的执行未必是成功的。例如在Update的时候identify 1705的数据在之前可能就已经被删除了,所以这个update执行了,但是执行了个寂寞,没有什么用

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111422 积分:567186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/13 11:26:00 [显示全部帖子]

怎么做保存的?1楼有删除的代码【De1ete Fr0m [生产进度] where 产品批号 is null   -------2024-05-12 09:33:39.620】,另外既然有update,说明是保存了多次的,因为如果只保存一次肯定全部都是insert,而不会有update

下面的操作可能会导致出问题

1、新增4行
2、编辑第3、4行,填入批次,然后保存,4行数据都保存了。不过在保存之后又有其它代码删除批次为空的行,因为第1、2行没有批次会被删除掉,但是注意,如果使用的sql删除的,只是删除了后台数据,客户端界面如果没有重新加载,这第1、2行仍然是存在的
3、编辑第1、2行【改为240511605 和240511606
4、编辑其它数据,然后保存

另外还有一种情况可能会有问题,就是【identify1705】这个1705是怎么来的,如果是新增行,_identify值是不对的,保存后才能获取正确的值。

个人的建议是永远不要使用自增列来做业务处理,因为是不可控的。应该使用类似自编号这种能够唯一识别某一行的数据进行关联更新处理数据

 回到顶部