表适配器返回错误的结果

时间:2013-08-06 16:18:31

标签: c# linq tableadapter

我有一个应用程序,它接收一个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 + "')");

然后我调用tableadapter

      //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(),但由于我的代码不这样做,我不确定问题是什么。任何帮助非常感谢

1 个答案:

答案 0 :(得分: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);
     }