2017-04-17 76 views
0

我有一個DataGridView從鏈接到SQL Server Manangement Studio的數據庫中提取數據並在DataGridView上顯示它。使用C#同時刪除數據庫和DataGridView中的記錄

我有一個Delete按鈕,允許用戶使用此代碼刪除特定的記錄:

string SQLdelete = "DELETE FROM User WHERE Id = @RowID"; 

SqlParameter RowParameter = new SqlParameter(); 

SqlCommand deleteRecord = new SqlCommand(); 
deleteRecord.Connection = con; 
deleteRecord.CommandType = CommandType.Text; 
deleteRecord.CommandText = SQLdelete; 

RowParameter.ParameterName = "@RowID"; 
RowParameter.SqlDbType = SqlDbType.Int; 
RowParameter.IsNullable = false; 
RowParameter.Value = rowIndex + 1; 

deleteRecord.Parameters.Add(RowParameter); 

deleteRecord.Connection.Open(); 
deleteRecord.ExecuteNonQuery(); 
deleteRecord.Connection.Close(); 

的問題是,在刪除多條記錄後,我覺得RowID都混合起來,例如,如果我從6-8 有數據ID(這是鏈接到刪除查詢它們的ID),它不會被刪除,有時當我點擊第三記錄,則一號記錄被刪除。

我不知道我是否足夠清楚,但如果你想讓我添加任何信息,我會讓你知道。

我認爲它與DataGridViewRowID和我的表ID;當我刪除很多記錄時,他們會混淆起來。

有人能告訴我應該在我的刪除代碼中添加什麼來避免這個問題?

非常感謝!

+0

我不知道爲什麼你可以通過DataGridView的rowId從表中刪除,它們是不同的。您應該通過表格的ID刪除記錄。 –

+0

我試圖刪除DataGridView上的選定行,同時從表中刪除相同的記錄。我如何鏈接這兩個?我想到了表的ID和datagridView的RowID,但他們不斷混淆。 – User001122

+1

獲取所選行的「ID」單元格,然後通過此單元格值從表中刪除記錄。 –

回答

0

這裏您需要使用表中的「ID」刪除記錄。

意味着您需要將「ID」綁定到datagridview,並且存在於datagridview中的「ID」需要作爲參數傳遞給查詢,並且需要刪除該記錄。

相關問題