需要你的帮助。我必须从用户获取csv文件并根据该文件更新数据库列。
例如:
文件包含以下字段:
名称|说明|日期
另一个档案有:
名称|价格
请指导我如何使用sql 2008在c#中执行此操作。
从复选框中,用户可以选择要更新的列。
else if (count == 4 && dataGridView1.ColumnCount - 1 == 4)
{
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
{
int id = Convert.ToInt32(dataGridView1.Rows[i].Cells["Id"].Value);
ItemsC.UpdateDatacolumns(id, columnsList[1], dataGridView1.Rows[i].Cells[1].Value.ToString(), columnsList[2], dataGridView1.Rows[i].Cells[2].Value.ToString(), columnsList[3], dataGridView1.Rows[i].Cells[3].Value.ToString());
}
}
else if (count == 5 && dataGridView1.ColumnCount - 1 == 5)
{
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
{
int id = Convert.ToInt32(dataGridView1.Rows[i].Cells["Id"].Value);
ItemsC.UpdateDatacolumns(id, columnsList[1], dataGridView1.Rows[i].Cells[1].Value.ToString(), columnsList[2], dataGridView1.Rows[i].Cells[2].Value.ToString(), columnsList[3], dataGridView1.Rows[i].Cells[3].Value.ToString(), columnsList[4], dataGridView1.Rows[i].Cells[4].Value.ToString());
}
}
在后端只是覆盖更新方法:
public static bool UpdateDatacolumns(int id, string column, string value, string column2, string value2)
{
SqlConnection conn = database.getConnection();
string query = "update destinationItemTable set " + column + "= @value ," + column2+" =@value2 where Id=@id";
try
{
var p1 = new SqlParameter("@id", id);
var p2 = new SqlParameter("@value", value);
var p3 = new SqlParameter("@value2", value2);
var cmd = new SqlCommand { CommandText = query, CommandType = CommandType.Text };
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Connection = conn;
conn.Open();
bool result = (cmd.ExecuteNonQuery() > 0);
cmd.Dispose();
return result;
}
catch (Exception ex)
{
}
finally
{
conn.Close();
}
}