[英]How to delete a row from datagridview using c# in Windows application
[英]Delete Row from DataGridView in C# windows Form
我想從C#Windows窗體的DataGridView中刪除行,我的代碼僅工作一次
if (dataGridView1.Columns[e.ColumnIndex].Name == "Delete")
{
try
{
using (con = new SqlConnection(C))
{
using (objCom = new SqlCommand("DELETE FROM Crud where Id = @Id;SELECT id as 'Customer Id' , Ch_Code as 'Customer Code' , Ch_Name as 'Customer Name',Ch_Type as 'Type' FROM Crud", con))
{
objCom.Parameters.AddWithValue("@id", dataGridView1.Rows[e.RowIndex].Cells[0].Value);
using ( objAdp = new SqlDataAdapter(objCom))
{
objAdp.Fill(DS,"xyz");
dataGridView1.DataSource = DS.Tables["xyz"].DefaultView;
}
}
}
}
catch (Exception EX)
{
MessageBox.Show(EX.Message);
}
}
它給了我例外
將nvarchar值'Delete'轉換為數據類型int時轉換失敗
使用AddWithValue
的做法是避免Sql注入的好方法。 但是,當使用.Value
成員時,需要確保您的Value
不包含字符串,而需要為動態事務傳遞整數。
要做的一件事是將您的值轉換為Int32,這將是一個有效的int,也許不會返回錯誤。
您的第二個選擇是使用SqlDbType.Int轉換。 這樣,您將確保插入數據庫可接受的整數。 像這樣:
(SqlDbType.Int)dataGridView1.Rows[e.RowIndex].Cells[0].Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.