簡體   English   中英

將SQL查詢轉換為vb.net

[英]Convert SQL Query to vb.net

可以幫助我在VB.NET中運行SQL查詢。這是將表數據轉換為csv的查詢

USE newdb 
 GO
 -- Check Table Column
 SELECT *
 FROM accountexample 
 GO
 -- Get CSV values
 SELECT SUBSTRING(
 (SELECT ' ' + s.BPl + ',' + s.Lo  + ',' + s.Ltion + ',' + s.Ite + ',' + s.HNO + ',' + s.QNo + ',' + s.Country + ',' + s.STATE + ',' + s.Rem + CHAR(10)
  FROM   accountexample s
 ORDER BY s.BPl
 FOR XML PATH('')),2,200000) AS CSV
 GO 

首先選擇所需的記錄到數據集中

然后使用以下函數將數據集轉換為CSV文件。

將數據集轉換為CSV的功能

Sub SetDataTable_To_CSV(ByVal dtable As DataTable, ByVal path_filename As String, ByVal sep_char As String)

    Dim writer As System.IO.StreamWriter

    Try

        writer = New System.IO.StreamWriter(path_filename)



        Dim _sep As String = ""

        Dim builder As New System.Text.StringBuilder

        For Each col As DataColumn In dtable.Columns

            builder.Append(_sep).Append(col.ColumnName)

            _sep = sep_char

        Next

        writer.WriteLine(builder.ToString())



        For Each row As DataRow In dtable.Rows

            _sep = ""

            builder = New System.Text.StringBuilder



            For Each col As DataColumn In dtable.Columns

                builder.Append(_sep).Append(row(col.ColumnName))

                _sep = sep_char

            Next

            writer.WriteLine(builder.ToString())

        Next

    Catch ex As Exception



    Finally

        If Not writer Is Nothing Then writer.Close()

    End Try

End Sub

摘自以下鏈接

http://redsouljaz.com/2010/06/03/vb-net-set-data-table-to-csv-file/

如果您想通過VB.net與我的SQL一起使用。

然后您可以創建存儲過程

CREATE PROC ConvertCSV
AS
BEGIN
   SELECT SUBSTRING(
 (SELECT ' ' + s.BPl + ',' + s.Lo  + ',' + s.Ltion + ',' + s.Ite + ',' + s.HNO + ',' + s.QNo + ',' + s.Country + ',' + s.STATE + ',' + s.Rem + CHAR(10)
  FROM   accountexample s
 ORDER BY s.BPl
 FOR XML PATH('')),2,200000) AS CSV
END

然后從vb.net調用此過程

Dim con As New SqlConnection("Data Source=<datasource>;Initial Catalog=<databasename>;User ID=<username>;Password=<password>")
con.Open()

Dim cmd As New SqlCommand("ConvertCSV", con)

Try
    cmd.CommandType = CommandType.StoredProcedure
    cmd.ExecuteNonQuery()

Finally
    If cmd IsNot Nothing Then cmd.Dispose()
    If cn IsNot Nothing AndAlso cn.State <> ConnectionState.Closed Then cn.Close()
End Try

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM