Foxtable(狐表)用户栏目专家坐堂 → 数据源手动合并问题


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

主题:数据源手动合并问题

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 22:42:00 [只看该作者]

帮助搜“表名与表标题

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


加好友 发短信
等级:四尾狐 帖子:942 积分:6803 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/4/6 22:55:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210327092146.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210327092138.png
图片点击可在新窗口打开查看
看了,我这边都是不带1的,只有数据库带1
图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 23:11:00 [只看该作者]

要么在数据库里改名了,要么在添加外部表的时候改名了

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


加好友 发短信
等级:四尾狐 帖子:942 积分:6803 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/4/6 23:14:00 [只看该作者]

那我现在为什么还能正常运行,我在数据库中直接改表名,再启动软件还说找不到表了

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


加好友 发短信
等级:四尾狐 帖子:942 积分:6803 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/4/6 23:25:00 [只看该作者]

主表这个已经被我改过来了,目前没问题。现在运行之前的代码,报错如下:.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,主表,Button3,Click
详细错误信息:
Exception has been thrown by the target of an invocation.
Object reference not set to an instance of an object.


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


加好友 发短信
等级:四尾狐 帖子:942 积分:6803 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/4/6 23:33:00 [只看该作者]

If Connections.Contains("test") = False
Connections.Add("test","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\data.mdb;Persist Security Info=False")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SEL ECT * From {主表} where 1=2"
dt = cmd.ExecuteReader(True)
cmd.CommandText = "SEL ECT * From {操作表} where 1=2"
Dim dt2 As DataTable = cmd.ExecuteReader(True)
cmd.CommandText = "SEL ECT * From {压舱水} where 1=2"
Dim dt3 As DataTable = cmd.ExecuteReader(True)
cmd.CommandText = "SEL ECT * From {淡水} where 1=2"
Dim dt4 As DataTable = cmd.ExecuteReader(True)

For Each dr As DataRow In DataTables("主表").DataRows
    If dt.Find("sureyid= '" & dr("sureyid") & "'") Is Nothing Then
        Dim nr As DataRow = dt.AddNew()
        For Each dc As DataCol In DataTables("主表").DataCols
            nr(dc.name) = dr(dc.name)
        Next
        
        For Each dr2 As DataRow In DataTables("操作表").Select("sureyid= '" & dr("sureyid") & "'")
            Dim nr2 As DataRow = dt2.AddNew()
            For Each dc2 As DataCol In DataTables("操作表").DataCols
                nr2(dc2.name) = dr2(dc2.name)
            Next
            For Each dr3 As DataRow In DataTables("压舱水").Select("sureyidtimes= '" & dr2("sureyidtimes") & "'")
                Dim nr3 As DataRow = dt3.AddNew()
                For Each dc3 As DataCol In DataTables("压舱水").DataCols
                    nr3(dc3.name) = dr3(dc3.name)
                Next
            Next
            For Each dr4 As DataRow In DataTables("淡水").Select("sureyidtimes= '" & dr2("sureyidtimes") & "'")
                Dim nr4 As DataRow = dt4.AddNew()
                For Each dc4 As DataCol In DataTables("淡水").DataCols
                    nr4(dc4.name) = dr4(dc4.name)
                Next
            Next
        Next
    End If
Next
End If

我把end if放后边了,现在点按钮没反应,目标数据库里也没有应该增加的数据。

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/7 8:33:00 [只看该作者]

条件使用的是where 1=2,默认不会加载如何数据

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


加好友 发短信
等级:四尾狐 帖子:942 积分:6803 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/4/7 10:33:00 [只看该作者]

那我可能公式理解错误了,我的目的是将本地的数据合并到新连接的数据库里,应该怎么修改?或者什么思路呢?

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


加好友 发短信
等级:四尾狐 帖子:942 积分:6803 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2021/4/7 10:41:00 [只看该作者]

我是参考论坛这里的代码:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=106704

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/7 10:56:00 [只看该作者]

For Each dr As DataRow In DataTables("主表").DataRows
msgbox(dr("sureyid")) '能不能弹出提示
    If dt.Find("sureyid= '" & dr("sureyid") & "'") Is Nothing Then
        Dim nr As DataRow = dt.AddNew()
        For Each dc As DataCol In DataTables("主表").DataCols
            nr(dc.name) = dr(dc.name)
        Next
   msgbox(1)     
        For Each dr2 As DataRow In DataTables("操作表").Select("sureyid= '" & dr("sureyid") & "'")
   msgbox(dr2("sureyidtimes"))   
            Dim nr2 As DataRow = dt2.AddNew()
            For Each dc2 As DataCol In DataTables("操作表").DataCols
                nr2(dc2.name) = dr2(dc2.name)
            Next
            For Each dr3 As DataRow In DataTables("压舱水").Select("sureyidtimes= '" & dr2("sureyidtimes") & "'")
                Dim nr3 As DataRow = dt3.AddNew()
                For Each dc3 As DataCol In DataTables("压舱水").DataCols
                    nr3(dc3.name) = dr3(dc3.name)
                Next
            Next

 回到顶部
总数 24 上一页 1 2 3 下一页