Foxtable(狐表)用户栏目专家坐堂 → [求助]请帮我看一下保存按钮哪里错了


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

主题:[求助]请帮我看一下保存按钮哪里错了

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
[求助]请帮我看一下保存按钮哪里错了  发帖心情 Post By:2017/3/8 14:19:00 [只看该作者]

请帮看一下保存按钮哪里错了,前面测试好好的,保存没有问题,发布了,昨天他们说一保存数据就清没了,我测试真有这个问题,就把数据库事务代码给隐了,隐了后当时测试可以的,又发布,结果今天又不行了。真搞不明白为啥。请大神帮确认下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

晕了,百度浏览器插不进附件了。
[此贴子已经被作者于2017/3/8 14:21:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 14:46:00 [只看该作者]

前面的代码修改下

 

    For Each dr As DataRow In DataTables(e.Form.TableName).DataRows
        If dr.RowState = DataRowState.Added Then
            xzh.Add(dr("iOrd"))
        Else If dr.RowState = DataRowState.Modified Then
            xgh.add(dr("iOrd"))
        End If
    Next

 

如果还出错,请说明,如何测试后出问题?


 回到顶部
帅哥,在线噢!
ajie5211
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/3/8 15:14:00 [只看该作者]

以下是引用有点色在2017/3/8 14:46:00的发言:

前面的代码修改下

 

    For Each dr As DataRow In DataTables(e.Form.TableName).DataRows
        If dr.RowState = DataRowState.Added Then
            xzh.Add(dr("iOrd"))
        Else If dr.RowState = DataRowState.Modified Then
            xgh.add(dr("iOrd"))
        End If
    Next

 

如果还出错,请说明,如何测试后出问题?

按这个修改后,数据到是没有清空,但修改第一行的任何一个值,数据都更新不过来。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 15:33:00 [只看该作者]

1、为什么要写 delete from ? 你逻辑是什么?

 

2、不要吞掉错误,出错的话,弹出错误,建议你加入msgbox调试一下你的逻辑。


    Catch ex As Exception '如果出错

        msgbox(ex.Message)
        Connections("wjexcel").Rollback() '回滚事务,撤销所有操作
    End Try


 回到顶部
帅哥,在线噢!
ajie5211
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/3/8 15:40:00 [只看该作者]

以下是引用有点色在2017/3/8 15:33:00的发言:

1、为什么要写 delete from ? 你逻辑是什么?

 

2、不要吞掉错误,出错的话,弹出错误,建议你加入msgbox调试一下你的逻辑。


    Catch ex As Exception '如果出错

        msgbox(ex.Message)
        Connections("wjexcel").Rollback() '回滚事务,撤销所有操作
    End Try


此主题相关图片如下:qq截图20170308153750.png
按此在新窗口浏览图片

逻辑就是,从变动处开始,删除后台,然后把从变动处开始的行再插入数据库。


 


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


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/8 15:52:00 [只看该作者]

直接更新后台数据不行吗,为什么要先删除再插入?

 回到顶部
帅哥,在线噢!
ajie5211
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/3/8 16:01:00 [只看该作者]

以下是引用有点蓝在2017/3/8 15:52:00的发言:
直接更新后台数据不行吗,为什么要先删除再插入?

这是其它平台的数据库。哪个iOrd的值基本上等于行号,如果有插入时,从插入的这一行开始,后面的行iOrd全加了1,如果没有插入行,只是修改行,哪iOrd是不变的。所以想省事一点。从有变动或更新的行开始,后台数据全做掉,然后重新按当前修改的表建进去。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 16:03:00 [只看该作者]

提示错误,就是说没有find到对应的行

 

If dr Is Nothing Then

 

End If

 

http://www.foxtable.com/webhelp/scr/1485.htm

 


 回到顶部
帅哥,在线噢!
ajie5211
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2017/3/8 16:19:00 [只看该作者]

以下是引用有点色在2017/3/8 16:03:00的发言:

提示错误,就是说没有find到对应的行

 

If dr Is Nothing Then

 

End If

 

http://www.foxtable.com/webhelp/scr/1485.htm

 


此主题相关图片如下:qq截图20170308161541.png
按此在新窗口浏览图片

此主题相关图片如下:qq图片20170308161757.png
按此在新窗口浏览图片

我这里明明有2,他提示2的时候找不到了,这让我如何理解啊。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 16:37:00 [只看该作者]

方法一:你iord列改成整数列

 

方法二:查询加上单引号  .Find("iOrd = '" & i & "'")


 回到顶部
总数 31 1 2 3 4 下一页