allbluekos
2015-06-15 12:49
采纳率: 88.5%
浏览 2.4k

有什么好的方法把CSV格式导入到SQL数据库中?有代码更加好,或者指教思路也可以,感谢啦!

有什么好的方法把CSV格式导入到SQL数据库中?有VB.NET或者C#代码更加好,或者指教思路也可以,感谢啦!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 知常曰明 2015-06-15 12:53
    已采纳

    1.用SQL自带的工具(导入导出数据)就可以
    2.不代码的话,每次读一行,按','进行Split成为一个数组,写入数据库就可以了

    点赞 打赏 评论
  • guwei4037 2015-06-15 12:54

    csv其实就是txt。你可以当成文本一行一行的处理。写数据库用ado.net就是了。

    点赞 打赏 评论
  • oyljerry 2015-06-15 13:48

    代码就是一行行读取,用逗号作为格列的数据。

    点赞 打赏 评论
  • 另一花生 2015-06-15 15:42

    .SQL自带的工具就可以吧。。。

    点赞 打赏 评论
  • JonsonJiao 2015-06-15 23:57

    2000万数据都是用代码读取出来放进去的

    点赞 打赏 评论
  • edouardzyc 2015-06-16 02:33

    SQLServer自带的导入工具,选择源为csv就可以了

    点赞 打赏 评论
  • allbluekos 2015-06-16 04:23

    是给基础用户的,操作员不会使用SQL导入。网上找到代码如下,不知道怎么去掉前面的几行。
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim intColCount As Integer = 0
    Dim blnFlag As Boolean = True
    Dim mydt As New DataTable

        Dim mydc As DataColumn
        Dim mydr As DataRow
    
        Dim strpath As String = "E:\Computer Knit\PR20150611_0801.csv"
        Dim strline As String
        Dim aryline() As String
    
        Dim i As Integer
        Dim rowNum As Integer
    
        Dim mysr As System.IO.StreamReader = New System.IO.StreamReader(strpath, System.Text.Encoding.GetEncoding("GB2312"))
        strline = mysr.ReadLine()
        rowNum = 1
        While (strline <> Nothing)
            aryline = Split(strline, ",")
            If rowNum = 1 Then
                If (blnFlag = True) Then
                    blnFlag = False
                    intColCount = aryline.Length
                    For i = 0 To aryline.Length - 1
                        mydc = New DataColumn(aryline(i))
                        mydt.Columns.Add(mydc)
                    Next
                End If
            Else
                mydr = mydt.NewRow()
                For i = 0 To intColCount - 1
                    mydr(i) = aryline(i)
                Next
                mydt.Rows.Add(mydr)
            End If
            strline = mysr.ReadLine()
            rowNum = rowNum + 1
        End While
        DataGridView1.DataSource = mydt
    End Sub
    
    点赞 打赏 评论

相关推荐