Foxtable(狐表)用户栏目专家坐堂 → [求助]表B中合并数据,表A会增加相应记录,但表A分页加载时会出现错误,如何避免


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

主题:[求助]表B中合并数据,表A会增加相应记录,但表A分页加载时会出现错误,如何避免

帅哥哟,离线,有人找我吗?
chh2321
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2017/3/13 0:06:00 [只看该作者]

用以下代码可以较好解决问题,就是效率低了点。

老师,可以优化一下效率问题吗?

    Case "编号"
        If e.DataRow.Isnull("编号") = False
            Dim dr As DataRow
            dr = DataTables("表A").SQLFind("[编号] = '" & e.DataRow("编号") & "'") 
            If dr Is Nothing Then
                dr = DataTables("表A").AddNew()
                dr("编号") = e.DataRow("编号")
            End If
        End If
        DataTables("表A").Save
        DataTables("表B").Save
        
    Case "姓名","性别","出生日期"
        Dim dr As DataRow
        dr = DataTables("表A").Find("[编号] = '" & e.DataRow("编号") & "'")  
        If dr IsNot Nothing Then
            dr("姓名") = e.DataRow("姓名")
            dr("性别") = e.DataRow("性别")
            dr("出生日期") = e.DataRow("出生日期")
        End If


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


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

参考10楼代码。你说的效率指什么?单独修改一行没问题的啊。

 

你重置列?


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


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2017/3/13 9:35:00 [只看该作者]

测试代码:

Select Case e.DataCol.Name
    Case "编号","姓名","性别","出生日期"
        If e.DataRow.Isnull("编号") = False
            Dim dr As DataRow
            dr = DataTables("表A").SQLFind("[编号] = '" & e.DataRow("编号") & "'") 
            If dr Is Nothing Then
                dr = DataTables("表A").AddNew()
                dr("编号") = e.DataRow("编号")
            End If
                dr("姓名") = e.DataRow("姓名")
                dr("性别") = e.DataRow("性别")
                dr("出生日期") = e.DataRow("出生日期")
                dr.Save
        End If
End Select

测试结果:内部表没有问题。外部表(SqlServer)出现对于造型说明无效的字符值

.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2016.7.29.1
错误所在事件:
详细错误信息:
对于造型说明无效的字符值

请老师指点

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


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

1、直接修改保存有没有问题?

 

2、不赋值 性别、出生日期,是否有问题?


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


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2017/3/13 9:48:00 [只看该作者]


老师,找到问题了,出生日期是空值时会出现问题。把所有出生日期填全后,运行没有问题。

有办法解决吗?
[此贴子已经被作者于2017/3/13 9:49:32编辑过]

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


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

数据库这个日期是不是指定了不能为空?到数据库改改,设置为可以为空

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


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2017/3/13 12:45:00 [只看该作者]

 
我看了sqlserver设置,出生日期列可以为空,表A、表B均是如此


图片点击可在新窗口打开查看
[此贴子已经被作者于2017/3/13 12:47:02编辑过]

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


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

那就加个判断吧

dr("出生日期") = IIF(e.DataRow.IsNull("出生日期"),Nothing,e.DataRow("出生日期"))


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


加好友 发短信
等级:童狐 帖子:253 积分:2573 威望:0 精华:0 注册:2016/8/8 9:50:00
  发帖心情 Post By:2017/3/13 19:13:00 [只看该作者]

 

谢谢,老师,成功了。

 回到顶部
总数 19 上一页 1 2