Ich versuche, eine MS Access-Datenbank in C# mit OLE DB zu verwenden, aber jedes Mal, wenn die Datenbank geladen wird, werden die alten Daten nicht beibehalten.OLE DB überschreiben alte Datenbank
Dies ist mein Code:
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Databases\\Database.accdb;Persist Security Info=False;";
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand command = connection.CreateCommand();
command.CommandText = "INSERT INTO test (userID, name) VALUES(?, ?)";
// Setting parameters to random integer and string
command.Parameters.Add(new OleDbParameter("@userID", randomID));
command.Parameters.Add(new OleDbParameter("@name", randomName));
command.ExecuteNonQuery();
Für Testzwecke ich eine zufällig generierte ID und Namen verwenden. Wenn ich die Datenbank in MS Access überprüfe, werden die Daten jedes Mal überschrieben. Fehle ich etwas?
Ich benutze diesen Code zum Erstellen der Tabelle:
OleDbCommand command = connection.CreateCommand();
command.CommandText = "CREATE TABLE test (" +
"userID INTEGER NOT NULL," +
"name TEXT(20) NOT NULL," +
"PRIMARY KEY(userID)" +
")";
command.ExecuteNonQuery();
Es ist nicht klar. Was meinst du mit _jedes Mal, wenn die Datenbank lädt_? – Steve
@Steve Ich meine jedes Mal, wenn ich die Datenbankverbindung öffnen – Mrten
@LarsTech Fehler im obigen Code, ich tue das in der tatsächlichen Code – Mrten