将多行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#。

将多行gridview保存到数据库中

你得到的错误是因为,你正在使用Values,但实际上它是Value。所以试试这个

foreach (GridViewRow row in GridView1.Rows)
{
   cmdd.Parameters.Add("@id", SqlDbType.Char, 20, "Id").Value = row.Cells[0].Value;
}