将多行gridview保存到数据库中
本文关键字:数据库 保存 gridview | 更新日期: 2023-09-27 18:16:27
我有一个gridview,它通过我的下拉列表中选择的项目填充,我没有任何问题。我的问题是我试图将我的gridview中的多行保存到我的数据库中,例如,我在我的gridview中添加了3个项目,看起来像这样:
Id | Name
111 | Jack
222 | Nicole
333 | John
现在,我想要所有列Id下的111,222和333将保存在我的数据库上,一旦我点击保存按钮,我正在尝试下面的代码,但它给了我一个错误说"system.data.sqlclient。sqlparameter不包含'Values'的定义,也没有扩展方法'Values'接受类型为…的第一个参数。:
SqlConnection con = new SqlConnection("Data Source=GATE-PC''SQLEXPRESS;Initial Catalog=dbProfile;Integrated Security=True");
SqlCommand cmdd = new SqlCommand("Insert into profile (Id, profile_id)VALUES(@id, @profile_id", con);
foreach (GridViewRow row in GridView1.Rows)
{
cmdd.Parameters.Add("@id", SqlDbType.Char, 20, "Id").Values = row.Cells["Id"].Value;
}
cmdd.CommandType = System.Data.CommandType.Text;
cmdd.Parameters.AddWithValue("@profile_id", txtID.Text);
con.Open();
cmdd.ExecuteNonQuery();
我的表应该是这样的,一旦我能够保存多行从我的gridview到我的数据库:
auto_id | Id | profile_id
1 |111 | 101
2 |222 | 101
3 |333 | 101
我错过了什么?我正在使用asp.net和c#。
你得到的错误是因为,你正在使用Values
,但实际上它是Value
。所以试试这个
foreach (GridViewRow row in GridView1.Rows)
{
cmdd.Parameters.Add("@id", SqlDbType.Char, 20, "Id").Value = row.Cells[0].Value;
}