2017-11-15 15 views
1

データベースから直接選択した行を削除したい。私はこのコードを書いたが正しく動作しない。データベースからギルドの選択したレコードを直接削除する

ここに私のコードですが、SQLサーバのローカルデータベースからレコードを削除しません。

MyDataSet.Tables["ProductTable"].Rows[gridView1.GetFocusedDataSourceRowIndex()].Delete(); 
+0

[データセットから完全に行を削除する]の可能複製(https://stackoverflow.com/questions/18471189/deleting-a-row-completely-from-a-dataset) – Amy

+0

あなたはどのように移入んMyDataSet? –

+1

DataRowでDeleteを呼び出しても、データベース内のレコードは削除されません。 DataRowState.Deletedでその行をマークするだけです。 DataAdapter.Updateメソッドを呼び出すか、行を削除してデータベーステーブルから削除する特定のメソッドを呼び出します。 – Steve

答えて

1

このソリューションをお試しください:

myDataSet = myWS.LookUp(sessionUserID, "UserID", "Users"); // Adapt this to the way you populate the dataset 
      myDataTable = Tables["ProductTable"]; 
      DataRow drCurrent =MyDataSet.Tables["ProductTable"].Rows[gridView1.GetFocusedDataSourceRowIndex()] 
      myDataSet.AcceptChanges() 
      drCurrent.Delete(); 
      myWS.UpdateDB(myDataSet); 
1

のDataGridViewをダブルクリックします。 CellContentClickという名前のイベントが発生します。

try 
{ 
    int x = int.Parse(datagridview.Rows[e.RowIndex].Cells[UserID.Index].Value.ToString()); 
    string query = "delete from productable where UserID=" + x; 
    // now delete execute procedure 
    MessageBox.Show("Deleted Successfully"); 
    // write code to bring record again. 
} 
catch(Exception ex) 
{ 
    MessageBox.Show(ex.StackTrace); 
} 
+0

あなたの列の名前を付けていない場合は、セル([UserID.Index])をセル[0] .valueに変更できます。 –

関連する問題