[英]How can I pass multiple cell values of datagridview from one form to another at same time in C#?
[英]C# delete multiple selection from datagridview using stored procedure pass the same cell value each time
我正在使用具有datagridview的form1,用戶應使用存儲過程刪除要刪除的行來選擇要刪除的多行。
但是存儲過程每次用戶嘗試刪除時都會獲得相同的值,而存儲過程根據行數多次執行
private void btnDelete_Click(object sender, EventArgs e)
{
List<DataGridViewRow> selectedRows = (from row in gvhistorder.SelectedRows.Cast<DataGridViewRow>()select row).ToList();
if (MessageBox.Show(string.Format("Do you want to delete {0} rows?", selectedRows.Count), "Confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
DataGridViewSelectedRowCollection rows = gvhistorder.SelectedRows;
foreach (DataGridViewRow row in rows)
{
DataRow myRow = (row.DataBoundItem as DataRowView).Row;
int order_num = (int)gvhistorder.SelectedRows[0].Cells["order_number"].Value;
SqlCommand cmd = new SqlCommand("DelHisOL", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter[] DelHistParm = new SqlParameter[3];
DelHistParm[0] = new SqlParameter("@date", SqlDbType.DateTime);
DelHistParm[0].Value = OrderDate.Text;
DelHistParm[1] = new SqlParameter("@store", SqlDbType.VarChar, 10);
DelHistParm[1].Value = store.SelectedValue;
DelHistParm[2] = new SqlParameter("@orderNum", SqlDbType.Int);
DelHistParm[2].Value = order_num;
cmd.Parameters.AddRange(DelHistParm);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
問題出在@orderNum
:它為每一行獲取相同的值
像這樣更改代碼:
int order_num =(int) row.Cells["order_number"].Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.