Ich werde verrückt versuchen, den Grund herauszufinden, warum der untenstehende Code meine Datenbank nicht aktualisieren wird. Ich schätze jede Hilfe.
Die Verbindungszeichenfolge ist korrekt und ich kann ähnliche Befehle ausführen, nur diese funktioniert aus irgendeinem Grund nicht. Grundsätzlich möchte ich Vorkommen des Wertes "1" durch "123" in einer Spalte ersetzen, die ich an die Methode übergebe.Access Update-Anweisung funktioniert nicht in C#
public void removeExpired2(string column, string user)
{
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\DB.accdb";
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
OleDbCommand cmd = new OleDbCommand("UPDATE [Reservations] SET [" + column + "] = @Column WHERE [" + column + "] = @ID");
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@Column", "123");
cmd.Parameters.AddWithValue("@ID", "1");
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(Button1, this.GetType(), "AlertMsg", "<script language='javascript'>alert('" + ex.Message.ToString() + "');</script>", false);
}
}
}
Aber Sie ersetzen '123' durch' 1' – Mairaj
Ich habe diesen Fehler gemacht, während die Werte hier geändert werden, um es einfacher zu erklären, aber in meinem Code steht das Problem immer noch. Ist etwas falsch mit der Aussage selbst, außer den gegenteiligen Werten? – mejaw
Haben Sie den Rückgabewert von 'cmd.ExecuteNonQuery()' überprüft? – Azodious