2013-08-06 4 views
0

У меня есть приложение, которое принимает файл csv и возвращает определенные строки.адаптер таблицы возвращает неверные результаты

код, который принимает CSV и указывает, какие данные для передачи в БД показан здесь

 List<string[]> Results = sm.parseCSV2(ofd.FileName, de).Where(x=>x.Length >5).ToList(); 


        foreach (string[] item2 in Results) 
        { 
         objSqlCommands.sqlCommandInsertorUpdate2("INSERT", Results);//laClient[0]); 
        } 

с моим синтаксического анализа кода здесь

public List<string[]> parseCSV2(string path, char[] delim) 
    { 
     // Intialise return value  
     List<string[]> parsedData = new List<string[]>(); 

     try 
     { 
      // With 'StreamRader' read file that is located in save pat  
      using (StreamReader readFile = new StreamReader(path)) 
      { 
       string line; // current line 
       string[] row; // array row 

       // Go thru file until we reach the end 
       while ((line = readFile.ReadLine()) != null) 
       { 
        row = line.Split(delim);// arry row equals values delimited by pipe 


         parsedData.Add(row); // add this to return value <List> 


       } 
      } 
     } 
     catch (Exception e) 
     { 
      MessageBox.Show(e.Message); 
     } 

     return parsedData; // return list 
    } 

вместе с моей SQL кода

  objConnections.executeSQL(connection, 
              "INSERT INTO generic.Client(ClientName) VALUES('" + text + "')"); 

Затем я звоню в таблицу

 //Refreshs the Client table on display from the 
         this.clientTableAdapter.Fill(this.CalcDataSet.Client); 

        //update the view 
        dgvClientlst.Update() ; 

Однако данные возвращаются показано ниже

   System.Collections.Generic.List`1[System.String[]] 

Я имел это предположил, что мой запрос фактически печать списка ToString(), но так как мой код делает разве что я не уверен, что проблема есть. Любая помощь очень ценится

ответ

2
foreach (string[] item2 in Results) 
    { 
      objSqlCommands.sqlCommandInsertorUpdate2("INSERT", item2);//You were mixed up with Results here 
    } 

Я думаю, что ваш код может быть это (я не уверен, если ваш objSqlCommands.sqlCommandInsertorUpdate2 может обращаться с string[] прошло в?)

foreach (string[] item2 in Results) 
    { 
     foreach(string item in item2) 
      objSqlCommands.sqlCommandInsertorUpdate2("INSERT", item); 
    } 
+0

Я изменил код на ваш, но вернулся значения по-прежнему неправильны – user2546071

+0

@ user2546071 что случилось сейчас? любое новое исключение? –

+0

та же проблема, что и перед ее печатью в Системе. и т. д., а не значения – user2546071

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