0

こんにちは、私は C# ウィンドウ フォームと mySQL データベースに取り組んでいます。データベースに接続し、データを取得して DataGridView に表示することができました。

ユーザーが DataGridView の行をクリックして [削除] ボタンを押すと、選択した行がデータベースで削除されます。

問題は、次の SQL クエリを使用してデータベースから削除するために、どの列が主キーであるかを知る必要があることです。

DELETE FROM (選択したテーブル) WHERE (主列の名前 = 選択した行の主キー列の値)

太字の部分は私が立ち往生している場所です。誰かが私を助けたり、データベースで選択した行を削除する他の方法を知ったりできますか?

4

3 に答える 3

4

You can use sql query to get primary keys from a table SHOW KEYS FROM table WHERE Key_name = 'PRIMARY'

于 2013-02-18T05:04:24.823 に答える
2

主キー列が何であるかが事前にわからない場合は、テーブルの情報を調べて見つける必要があります。この質問の答えは、ここSHOW INDEXに記載されている MySQL 呼び出しを使用して、MySQL を続行する方法の手がかりを与えるはずです。

于 2013-02-18T05:00:49.210 に答える
1

Datagridview の主キーの値を別の列 (非表示) に割り当てることができるため、Delete() 関数が呼び出されたときに主キーの値を取得できます。

Int64 iRecordId =0;
int selectedIndex = 0;

if (datagridview1.SelectedRows.Count > 0)
{
   selectedIndex = datagridview1.SelectedRows[0].Index;
   iRecordId = Convert.toInt64(datagridview1.Rows[selectedIndex].Cells[0].Value.toString());
   // insert delete commands heere
}

最初の列が主キーであると仮定します。

于 2013-02-18T04:54:08.057 に答える