我目前正在阅读和解析10个不同的文件(.txt,.csv),每个文件都有不同的列数。
以下是一个文件中的示例:
SqlCommand cmd = new SqlCommand("insert into " + table_name + " VALUES('"+data_from_file[0]+"', '" + data_from_file[1] + "', '" + data_from_file[2] + "', '" + data_from_file[3] + "', '" + data_from_file[4] + "','" + data_from_file[5] + "', '" + data_from_file[6] + "', '" + data_from_file[7] + "', '" + data_from_file[8] + "', '" + data_from_file[9] + "');", connection);
cmd.ExecuteNonQuery();
此文件总共有10列插入到自己的表中。如果我对10个文件这样做,我会有10个不同的if / else if语句。对我而言,这听起来像是这样做的坏方法。有没有办法迭代数组并插入每个元素?我一直在寻找方法,但找不到适合我的问题的解决方案。谢谢您的帮助。
答案 0 :(得分:1)
最经典的方式是iterate
并附加到string
然后执行:
string command = "insert into " + table_name + " VALUES(";
foreach(string data in data_from_file)
{
command += "'" + data + "',";
}
command = command.TrimEnd(','); // remove the last extra ','
command += ");";
SqlCommand cmd = new SqlCommand(command);
cmd.ExecuteNonQuery();
答案 1 :(得分:0)
首先迭代您的集合,然后将集合中的每个条目插入到数据库中。
foreach (var oneColumn in data)
{
SqlCommand cmd = new SqlCommand("INSERT INTO " + table_name + " VALUES(" + oneColumn + ")");
cmd.ExecuteNonQuery();
}