以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  手工编码填充  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87154)

--  作者:zhangxl1964
--  发布时间:2016/7/5 7:10:00
--  手工编码填充
老师你好!

       采用SQL server 数据库
       有表A和表B二个表;加载表A,不加载表B;操作表A时,能否将表A的数据通过手工编码来填充到表B中?
      Dim Cols1() As String = {"来源列一","来源列二","来源列三"}

    Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
    For Each
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim
dr2 As DataRow = DataTables("表B").AddNew()
    For
i As Integer = 0 To Cols1.Length -1
       
dr2(Cols2(i)) = dr1(Cols1(i
))
        Next
    Next

    上面的示例该如何修改?


--  作者:Hyphen
--  发布时间:2016/7/5 8:59:00
--  
Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
If not DataTables.Contains("表B") Then DataTables.Load("表B")
For Each dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next
DataTables("表B").Save

Dim cmd As new SQLCommand
Dim
 dt As DataTable 
cmd
.CommandText = "se lect * Fr om {表B}"
dt = cmd.ExecuteReader(
True\'记得将参数设置为True
Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim dr2 As DataRow = dt.AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next
dt.Save


--  作者:zhangxl1964
--  发布时间:2016/7/5 9:15:00
--  
谢谢!


--  作者:zhangxl1964
--  发布时间:2016/7/5 12:34:00
--  
在来源列和接收列同时有有字符型和数据型时,该如何?
--  作者:zhangxl1964
--  发布时间:2016/7/5 12:49:00
--  
Dim cmd As new SQLCommand
Dim
 dt As DataTable 
cmd
.CommandText = "se lect * Fr om {表B}"
dt = cmd.ExecuteReader(
True\'记得将参数设置为True
Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim dr2 As DataRow = dt.AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next
dt.Save
其中:如果来源列二是数据型的如何处理?

--  作者:zhangxl1964
--  发布时间:2016/7/5 13:00:00
--  
出现提示:
         错误所在事件:
         详细错误信息:
         对于造型说明无效的字符值

--  作者:大红袍
--  发布时间:2016/7/5 14:22:00
--  

你两个表的数据类型不匹配吗?

 

如果是日期列报错,可以改一下日期格式。

 

http://jingyan.baidu.com/article/647f0115925aee7f2148a8b5.html