0
我有一個gridview通過我的下拉列表中選定的項目填充,我沒有任何問題。我的問題是我想在我的GridView多行保存到我的數據庫,例如我已經加入我的gridview的3個項目,看起來像這樣:將多行gridview保存到數據庫中
Id | Name
111 | Jack
222 | Nicole
333 | John
現在,我想所有在列ID被111,222和333將保存在我的數據庫中,一旦我點擊保存按鈕我正在嘗試下面的代碼,但它給了我一個錯誤,說「system.data.sqlclient.sqlparameter不包含'值'的定義,並沒有擴展方法「價值」接受一個類型的第一個參數...」:
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中保存多個行到我的DAT基礎:
auto_id | Id | profile_id
1 |111 | 101
2 |222 | 101
3 |333 | 101
我在想什麼?我在C#中使用asp.net。
嗨感謝回答,我想你的代碼,但它給了我在row.Cells [「ID」]錯誤。它說「System.Web.UI.WebControls.TableCellCollection.this [int]'的最佳重載方法匹配有一些無效參數」。再次感謝 – user2388316
@ user2388316好吧,所以你需要傳遞'Id'這個列的索引而不是名字「id」。我已經更新了我的答案。我假設'Id'是第一列,這就是我使用'Cells [0]'的原因。 – Sachin