以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  2个表都是同一个外部数据源是否可用下面的方法合并?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33454)

--  作者:wuxianzuoji41
--  发布时间:2013/5/18 13:43:00
--  2个表都是同一个外部数据源是否可用下面的方法合并?
2个表都是同一个外部数据源是否可用下面的方法合并
将员工表1数据复制到员工表2
我用了下面的方法怎么不起作用呀


如果两个表的结构不同可以参考下面的代码:

Dim cmd As New SQLCommand
Dim
dt As DataTable
Dim
sCols() As String = {"列名1", "列名2", "列名3"}
Dim
dCols() As String = {"列名A", "列名B", "列名C"}
cmd
.ConnectionName = "数据源名称"
cmd
.CommandText = "SELECT * From {员工}"
dt
= cmd.ExecuteReader()
For Each
dr As DataRow In dt.DataRows
    Dim
nr As DataRow = DataTables("员工2").AddNew()
    For
i As Integer =0 To sCols.Length -1
       
nr(dCols(i)) = dr(sCols(i))
    Next
Next


--  作者:Bin
--  发布时间:2013/5/18 14:03:00
--  
正常不会啊,除非你DT没数据
--  作者:wuxianzuoji41
--  发布时间:2013/5/18 17:11:00
--  
bin 帮我看看看我的哪里有错误,我的画横线的部分语句不执行呀
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sCols() As String = {"Name", "Address"}
Dim dCols() As String = {"cCompany", "cAddress"} 


cmd.C 
cmd.CommandText = "SELECT * From {searchdata}"
dt = cmd.ExecuteReader()
messagebox.show("222")

\'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""这部分语句不执行
For Each dr As DataRow In dt.DataRows
messagebox.show("4444")
    Dim nr As DataRow = DataTables("Client").AddNew()

messagebox.show("1111")
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
messagebox.show("333")
    Next
Next
’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘这部分语句不执行
messagebox.show("成功导入客户列表里,请查阅!")

--  作者:Bin
--  发布时间:2013/5/18 17:13:00
--  
说明你DT没有数据. SELECT * From {searchdata}并没有返回任何数据
--  作者:wuxianzuoji41
--  发布时间:2013/5/18 17:19:00
--  
明白了,谢谢,确实是你的说的那个原因,我的那个searchdata我查了一下原来是查询表,所以数据库里一直没有数据,如果searchdata是查询表的情况下,这个方法是不是就不能用了
--  作者:Bin
--  发布时间:2013/5/18 17:22:00
--  
你也可以执行整段SQL查询语句来获得这个查询表啊..
或者直接datatables("searchdata")

--  作者:wuxianzuoji41
--  发布时间:2013/5/18 17:53:00
--  
bin,如果我要把一个窗口中的表table1的当前帅选的记录,手动编码合并到另外一datatables2中去,代码该怎么写?


--  作者:Bin
--  发布时间:2013/5/18 17:55:00
--  
Dim dt As Tables("窗口1_table1")
For Each dr As Row In dt.Rows
messagebox.show("4444")
    Dim nr As DataRow = DataTables("Client").AddNew()

messagebox.show("1111")
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
messagebox.show("333")
    Next
Next