VB服务将SQL导出到CSV

时间:2019-05-22 09:46:28

标签: vb.net

我创建了一个服务,该服务应该通过创建CSV文件将数据从SQL传递到CSV。它没有错误,但是我运行它,没有任何反应。 1)我缺少什么吗? 2)如果有效,并且我想转换为txt文件,将“ CSV”更改为“ txt”部分就足够了吗?

我的代码:

 #Region "Export SQL TO CSV"


    Public Shared Function WriteCSV(ByVal input As String) As String
        Try
            If (input Is Nothing) Then
                Return String.Empty
            End If
            Dim containsQuote As Boolean = False
            Dim containsComma As Boolean = False
            Dim len As Integer = input.Length
            Dim i As Integer = 0
            Do While ((i < len) _
AndAlso ((containsComma = False) _
OrElse (containsQuote = False)))
                Dim ch As Char = input(i)
                If (ch = Microsoft.VisualBasic.ChrW(34)) Then
                    containsQuote = True
                ElseIf (ch = Microsoft.VisualBasic.ChrW(44)) Then
                    containsComma = True
                End If

                i = (i + 1)
            Loop
            If (containsQuote AndAlso containsComma) Then
                input = input.Replace("""", """""")
            End If
            If (containsComma) Then
                Return """" & input & """"
            Else
                Return input
            End If
        Catch ex As Exception
            Throw
        End Try
    End Function

    Private Sub ExtoCsv(ByVal sender As Object, ByVal e As EventArgs)
        Dim sb As StringBuilder = New StringBuilder


        Using db As Database.RecordSet = admin.Database.OpenRecordsetReadOnly("select USERID, NAME1 from usertable WHERE I_ID=2")
            Dim userid As String = db("USERID").Value
            Dim name1 As String = db("NAME1").Value
            For i As Integer = 1 To db.RecordCount
                sb.Append(WriteCSV(userid + "," + name1 + ","))
                sb.AppendLine()
                db.MoveNext()
            Next
        End Using
        File.WriteAllText("C:\Users\user1\Desktop\ex1.csv", sb.ToString)

        If (Not System.IO.Directory.Exists("C:\Users\user1\Desktop\ex1")) Then
            System.IO.Directory.CreateDirectory("C:\Users\user1\Desktop\ex1")
        End If

    End Sub

#End Region

0 个答案:

没有答案