Ich bin in der Lage, Informationen aus meiner Datenbank auszuwählen und Informationen abzurufen, aber warum kann ich nicht dieselben verwenden, um die Datenbank zu aktualisieren? Commandstring ist, was ich benutze, um meine SQL-Sentences zu schreiben.Auswählen und Aktualisieren von accdb-Datenbank in ASP.net
nicht funktioniert:
DatabaseConnection.Commandstring = ("UPDATE tbl_login SET Time='"+Settings.UpdateRecord+"' WHERE Username='"+Settings.LoginName+"' ");
Anschluss-Code:
public static string ConString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + System.Web.HttpContext.Current.Server.MapPath("MainData.accdb") + "'; Persist Security Info = False;";
public static string Commandstring;
public static object result;
public static void Connect() {
using (OleDbConnection con = new OleDbConnection(DatabaseConnection.ConString)) {
con.Open();
Debug.WriteLine("Connection to DB Established");
using (OleDbCommand cmd = new OleDbCommand(Commandstring, con)) {
try {
cmd.ExecuteNonQuery();
con.Close();
Debug.WriteLine("Connection to DB Terminated");
}
catch (Exception ex) {
Debug.WriteLine("Error Updating Database: " +ex.Message);
con.Close();
}
}
}
}
}
meine Ausnahmemeldung sagt, gibt es einen Syntaxfehler in meinem Update-Anweisung. die Anweisung Debug Senden Console.WriteLine i erhalten:
UPDATE tbl_login SET Time='21' WHERE Username='Bob'
'Zeit' ist ein [reserviertes Wort] (http://allenbrowne.com/AppIssueBadWord.html#T). Schließe es in eckige Klammern ein: 'UPDATE tbl_login SET [Zeit] = '21' WHERE Benutzername = 'Bob'' – HansUp
Vielen Dank! – BPW