Ich versuche, Code aus zwei Tabellen in Access-Datenbank-Datei zu löschen. Manchmal wird einer von ihnen arbeiten und der andere wird es nicht tun, wenn ich es auf eine andere Weise versuche, wird es das Gegenteil bewirken. Also am Ende nur 1 der 2 funktioniert.So löschen Sie aus Access-Datenbank von C#
Hier ist mein Code Ich hoffe, jemand kann etwas, das ich falsch gemacht habe, erkennen.
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);
}
Sie müssen die Parameter nicht vor dem Ausführen des nächsten Befehls löschen? Verwenden von "command.Parameters.Clear();" –
Am besten erstellen Sie eine zweite, frische 'OleDbCommand'-Instanz. – knittl
Ich weiß nicht, ob dies eine gute Übung ist, aber Sie scheinen für jede Anweisung den gleichen Wert zu verwenden. Sie könnten also den Parameter in der zweiten delete-Anweisung auf @name ändern und den zweiten Parameter.AddwithValue für jeden Befehl entfernen Text verwendet den gleichen Parameter und den gleichen Wert für die zwei verschiedenen Kommandotext –