アクセスデータベースファイルの2つのテーブルから削除するコードを追加しようとしています。時にはそれらのうちの1つが動作し、もう1つは別の方法で試してみると、それと反対のことをします。だから最終的には2つの作品のうちの1つだけです。C#からアクセスデータベースから削除する方法
私のコードは、誰かが私が間違っていたことを見つけられることを願っています。
try
{
Conn.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = Conn;
command.CommandText = "DELETE FROM TBLNAME WHERE name [email protected]";
command.Parameters.AddWithValue("@name", lvlist.SelectedItems[0].Text);
command.ExecuteNonQuery();
command.CommandText = "DELETE from TBLNAME WHERE cb_listName [email protected]";
command.Parameters.AddWithValue("@listname", lvlist.SelectedItems[0].Text);
command.ExecuteNonQuery();
Conn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error " + ex);
}
次のコマンドを実行する前にパラメータをクリアする必要はありませんか? "command.Parameters.Clear();"を使用する –
2番目の新鮮な 'OleDbCommand'インスタンスを作成するのに最適です。 – knittl
これは良い習慣であるかどうかわかりませんが、各文に同じ値を使用しているようですので、2番目のdelete文でパラメータを@nameに変更し、2番目のParameter.AddwithValueを削除して各コマンドテキストは2つの異なるコマンドテキストに対して同じパラメータと値を使用します –