Programmierung

Letzte eingetragene ID mit Access 2007 und C#

In Access hat man häufig – wie auch in anderen Datenbanksystemen – mehrere Tabellen. Und es kommt vor, dass man in eine weitere Tabelle den AutoWert-Wert von dem Objekt speichern möchte, das man gerade zuletzt gespeichert hat.

Nach längerem Suchen bin ich dann auf die Lösung gekommen. Zuerst wird eine Verbindung mit der Datenbank angestrebt:

//Connection String
String myConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
myConnectionString += "Data Source=Vok.mdb";
OleDbConnection dbConn = new OleDbConnection(myConnectionString);
dbConn.Open();

Danach werden die Daten in die erste Tabelle eingefügt:

//Befehl zum hinzufügen der Vokabeln in die Datenbank
string command = "INSERT INTO Table1(Val1, Val2) VALUES (@Val1, @Val2)";
//Befehl ausführen
OleDbCommand dbComm = new OleDbCommand(command, dbConn);
dbComm.CommandType = CommandType.Text;
dbComm.Parameters.AddWithValue("Val1", textBox1.Text);
dbComm.Parameters.AddWithValue("Val2", textBox2.Text);
dbComm.ExecuteNonQuery();

Und im Anschluss wird der zuletzt eingefügte Wert wieder gelesen:

dbComm.CommandText = "SELECT @@IDENTITY";
int lastID = (int)dbComm.ExecuteScalar();

Diesen Wert kann man nun problemlos anderweitig verwenden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.