我有一个应用程序,它接收一个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(),但由于我的代码不这样做,我不确定问题是什么。任何帮助非常感谢
答案 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);
}