Foxtable(狐表)用户栏目专家坐堂 → 如何加载按月新生成的和以前月生成的表中的数据到一个总的记录表中?


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

主题:如何加载按月新生成的和以前月生成的表中的数据到一个总的记录表中?

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


加好友 发短信
等级:婴狐 帖子:63 积分:1252 威望:0 精华:0 注册:2009/6/8 11:12:00
  发帖心情 Post By:2010/11/18 16:05:00 [只看该作者]

编码错误:'Select Case' must end with a matching'End Select'
Select*From{Tab_P_ProductRecord201011} Into {_Tab_P_ProductRecord2010}


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/11/18 16:06:00 [只看该作者]

晕,你将这个作为代码使用?

这是SQL语句,应该用SQLCommand来执行的。


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


加好友 发短信
等级:婴狐 帖子:63 积分:1252 威望:0 精华:0 注册:2009/6/8 11:12:00
  发帖心情 Post By:2010/11/18 17:04:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "Select*From{Tab_P_ProductRecord201011} Into {_Tab_P_ProductRecord2010}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
    If DataTables("Tab_P_ProductRecord201011").Find("ID = '" & dr("ID") & "'") Is Nothing Then
        Dim nr As DataRow = DataTables("Tab_P_ProductRecord201011").AddNew()
        For Each dc As DataCol In dt.DataCols
            nr(dc.name) = dr(dc.name)
        Next
    End If
Next

 

 

代码执行出错,错误信息:
System.NullReferenceException:Object reference not set to an instance of an object  at UserCode.Test()

错误代码位置;窗口5,Button4,Click
System.NullReferenceException:Object reference not set to an instance of an object  at UserCode.Click_2df1b3cf(ControlEventArgs e)


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/11/18 17:14:00 [只看该作者]

找到行才执行,所以应该:

 

 If DataTables("Tab_P_ProductRecord201011").Find("ID = '" & dr("ID") & "'") IsNot Nothing Then


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


加好友 发短信
等级:婴狐 帖子:63 积分:1252 威望:0 精华:0 注册:2009/6/8 11:12:00
  发帖心情 Post By:2010/11/19 9:55:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.ConnectionName = "AsiaCardServer"23楼时粘贴时遗漏,不好意思
cmd.CommandText = "Select*From{Tab_P_ProductRecord201011} Into {_Tab_P_ProductRecord2010}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
    If DataTables("Tab_P_ProductRecord201011").Find("ID = '" & dr("ID") & "'") IsNot Nothing Then
        Dim nr As DataRow = DataTables("Tab_P_ProductRecord201011").AddNew()
        For Each dc As DataCol In dt.DataCols
            nr(dc.name) = dr(dc.name)
        Next
    End If
Next

依然是:

代码执行出错,错误信息:
System.NullReferenceException:Object reference not set to an instance of an object  at UserCode.Test()

错误代码位置;窗口5,Button4,Click
System.NullReferenceException:Object reference not set to an instance of an object  at UserCode.Click_2df1b3cf(ControlEventArgs e)


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/11/19 10:21:00 [只看该作者]

你的代码是不对的,下面的语句:
 
Select * From{Tab_P_ProductRecord201011} Into {_Tab_P_ProductRecord2010}
 
并不是一个查询语句,而是一个操作语句,直接在后台将前面表的内容合并到后面的表,所以不会返回一个DataTable。
 
大概的代码应该是:
 
Dim cmd As New SQLCommand
cmd.Connection Name = "AsiaCardServer"
cmd.CommandText = "Select * From {Tab_P_ProductRecord201011} Into {_Tab_P_ProductRecord2010}"
cmd.ExecuteNonQuery()
 
这样就完成了合并,你可以加载第二个表查看合并结果。
 

 
[此贴子已经被作者于2010-11-19 10:22:26编辑过]

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