以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数据加载,合并问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=109613)

--  作者:catch1987
--  发布时间:2017/11/15 17:41:00
--  [求助]数据加载,合并问题

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

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

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

[此贴子已经被作者于2017/11/15 17:41:14编辑过]

--  作者:catch1987
--  发布时间:2017/11/15 17:42:00
--  
我把上面的内容用文件复制到这里,却发布不了,不知道怎么回事,就截图给各位大神看了,麻烦将就一下
--  作者:有点甜
--  发布时间:2017/11/15 17:58:00
--  

如果修改代码,参考

 

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


--  作者:有点甜
--  发布时间:2017/11/15 17:58:00
--  
 没看懂你发的问题,你要做什么功能?为什么要这样做?
--  作者:catch1987
--  发布时间:2017/11/15 19:19:00
--  


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

看到教程帮助里面有这一章,第一部分的代码是讲的如何去除重复。第二部分讲的是合并部分列。所以想到合并部分列,并判断去除重复,等于两段代码的功能都实现,要怎么样写?

[此贴子已经被作者于2017/11/15 19:19:41编辑过]

--  作者:catch1987
--  发布时间:2017/11/15 19:27:00
--  
回答4楼老师的问题:
因为要操作的SQL数据库,是通过其它软件下载下来的,最原始的数据是存在于淘宝后台的订单,然后通过打单软件下载下来,下载的数据是保存在服务器的SQL数据库上。
因为打单软件生成的数据库后台表比较多,所涉及的列也比较多,但是我只是需要其中的部分列。
因为是想要对SQL的数据进行管理。只是提取其中的部分列的数据。然后再在自己的项目中进行操作。所以原始的数据文件,以及数据列不想要有任何的改动,只是需要把数据加载到自己的项目上,然后再进行操作。
所以就有了上面了问题。
1:服务器的SQL数据每天都会有增量300条,已经累计10多万条,用这种方法合适不合适?
2: 如果可以,是不是可以加载(合并)部分列。然后在项目中操作编辑其它列(操作编辑的列做到不影响服务器的SQL数据)。

--  作者:有点甜
--  发布时间:2017/11/15 21:40:00
--  

如果不想修改原来的数据,那就自己做一个数据,把数据拷贝过来用就好了。

 

方法就是你合并的方法。

 

去除重复这样改

 

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sCols() As String = {"列名1", "列名2"}
Dim dCols() As String = {"列名A", "列名B"}
cmd.ConnectionName = "数据源名称"
cmd.CommandText = "SELECT 列名1,列名2 From {员工}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.Select("", "列名1 desc")
    Dim nr As DataRow = DataTables("员工").find("列名A = \'" & dr("列名1") & "\' and 列名B = \'" & dr("列名2") & "\'")
    If nr Is Nothing Then nr = DataTables("员工").AddNew()
    For i As Integer =0 To sCols.Length -1
        nr(dCols(i)) = dr(sCols(i))
    Next
Next


--  作者:有点甜
--  发布时间:2017/11/15 21:42:00
--  

如果你在sqlserver里面新建一个数据库。你还可以用主从同步的方式

 

https://www.baidu.com/baidu?wd=sqlserver+%E4%B8%BB%E4%BB%8E+%E5%90%8C%E6%AD%A5

 

或者,直接用sql语句同步两个数据库的数据。http://www.runoob.com/sql/sql-insert-into-select.html