首页 > 解决方案 > VB服务导出SQL到CSV

问题描述

我创建了一个服务,该服务应该通过创建 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

标签: vb.net

解决方案


推荐阅读