2015-10-20 2 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 сортирует это значение и записывает в этот файл.
Я не хочу сортировать как this.i хочу писать в текстовый файл, как в данных в таблице .. как я могу это сделать.
любая помощь очень заметна.

+1

Um, 'ItemList' является' SortedList', так почему бы вам быть удивлен, что данные сортируются? Если вы не хотите сортировать данные, не помещайте их в список, который его сортирует. – jmcilhinney

+0

сэр я не хочу сортировать..so как я могу переписать код? –

+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

Добро пожаловать :) не стесняйтесь задавать любые вопросы о ответе :) –

Смежные вопросы