我得到了一个csv文件,我将它插入到一个gridview中,然后显示它。之后,我需要将它存储到数据库中,从gridview中查看所有记录。如何将多个记录从gridview添加到SQL Server表中?
所以按钮点击我用下面的代码:
using (SqlConnection scn = new SqlConnection("Data Source=(local); Database='WaselProject'; Integrated Security = yes;"))
{
scn.Open();
string query = "INSERT INTO Wasel_Card (RECORD, CARD_ID, FULL_NAME, SERVICE_ID, PROC_COUNT, READ_COUNT) VALUES (@record, @cardid, @fullname, @serviceid, @proccount, @readcount)";
using (SqlCommand scm = new SqlCommand(query, scn))
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
scm.Parameters.AddWithValue("@record", dataGridView1.Rows[i].Cells["Record"].Value.ToString());
scm.Parameters.AddWithValue("@cardid", dataGridView1.Rows[i].Cells["CARD_ID"].Value.ToString());
scm.Parameters.AddWithValue("@fullname", dataGridView1.Rows[i].Cells["FULL_NAME"].Value.ToString());
scm.Parameters.AddWithValue("@serviceid", dataGridView1.Rows[i].Cells["SERVICE_ID"].Value.ToString());
scm.Parameters.AddWithValue("@proccount", dataGridView1.Rows[i].Cells["PROC_COUNT"].Value.ToString());
scm.Parameters.AddWithValue("@readcount", dataGridView1.Rows[i].Cells["READ_COUNT"].Value.ToString());
scm.ExecuteNonQuery();
}
}
}
,但我得到一个错误:
Additional information: The variable name '@record' has already been declared. Variable names must be unique within a query batch or stored procedure.
任何帮助吗?
在此先感谢。
using语句应该放在for循环中吗?它不会开始一个新的,你试图多次分配相同的参数? – detellda
如果DGV具有基于该表的数据源,则不需要任何代码。只需使用DataAdapter – Plutonix