2015-10-20 41 views
0

我想从sql表中写入数据到文本文件。如何将数据写入文本文件无需排序

Dim Itemlist As New SortedList 

sql= select SONO,CustomerName,CustomerCode,ItemCode from tbl_SalesOrder where SONO =sonumber 

    commSQL = New SqlCommand(sql, cnnSQL) 
       drSQL = commSQL.ExecuteReader 
       While drSQL.Read 
         Dim values(drSQL.FieldCount - 1) As Object 
         Dim fieldCount As Integer = drSQL.GetValues(values) 
         Itemlist.Add(CStr(drSQL(0)) & "_" & CStr(drSQL(3)), values)  

       End While 

然后我写这个数据到文本文件。

sr = New StreamWriter(AppPath & "\Import\SalesOrder.txt") 
       For j = 0 To Itemlist.Count - 1 

        Sono = CStr(DirectCast(Itemlist.GetByIndex(j), Object())(0)) 
        customername = CStr(DirectCast(Itemlist.GetByIndex(j), Object())(1)) 
        customercode = CStr(DirectCast(Itemlist.GetByIndex(j), Object())(2)) 
        Sitemcode = CStr(DirectCast(Itemlist.GetByIndex(j), Object())(3)) 
sql = Trim(Sono) & "|" & Trim(customername) & "|" & Trim(customercode) & "|" & Trim(Sitemcode) 
        sr.WriteLine(sql) 
    Next j 
       sr.Close() 
       Itemlist.Clear() 
       drSQL.Close() 

但这写入sorting.my壳体drsql(3)之后的数据文本文件是该项目代码,这个未来like.'12' , '25', '31', '45'。所以itemlist对这个值进行排序,并写入这个文件。
我不想像这样排序。我想写入文本文件,如在表中的数据..如何我可以做到这一点。
任何帮助是非常可观的。

+1

嗯,'ItemList'是'SortedList',为什么你会是惊讶于数据正在排序?如果你不希望数据被排序,那么不要把它放到一个列表中排序。 – jmcilhinney

+0

先生我不想排序..所以我可以重新写代码? –

+0

我知道你不想排序。我读过你的帖子,说你不想排序。这就是为什么我告诉你不要使用一个列表。如果你不想列表排序,为什么要使用'SortedList'?使用别的东西来存储数据。 – jmcilhinney

回答

0

您使用的是SortedList,你可以使用ArrayList代替,或多个可重复使用,更漂亮,你可以使用这样的代码:

Dim connection = "your connection string" 
Dim command = "your command" 
Dim table As New System.Data.DataTable 
Dim adapter As New System.Data.SqlClient.SqlDataAdapter(command, connection) 
adapter.Fill(table) 

Dim builder As New System.Text.StringBuilder 
table.Rows.Cast(Of DataRow).ToList() _ 
    .ForEach(Sub(row) 
       builder.AppendLine(String.Join("|", _ 
       row.ItemArray.Select(Function(value) String.Format("{0}", value).Trim()))) 
      End Sub) 

System.IO.File.WriteAllText("your file path", builder.ToString()) 
+0

先生这将写入所有数据到文本文件 –

+0

这是工作正常,谢谢,我可以问一个疑问 –

+0

欢迎您:)随时问任何问题的答案:) –