Timmbo Geschrieben 17. August 2010 Teilen Geschrieben 17. August 2010 (bearbeitet) Hallo ich möchte gerne in eine Access 2007 Datenbank neue Werte einfügen und dabei die ID aus einem Inkrement feld zurückbekommen. Ich will dafür c# benutzen. Hab jetzt schon ewig das Internet durchwühlt aber ich kriege das nicht hin. Mein Ansatz ist folgender: (Provider ist: Microsoft.ACE.OLEDB.12.0) Es werden 20 Kunden eingefügt (das funktioniert auch) und es soll immer die Id zurückgegeben werden. Die ID ist aber immer 0!? private void button1_Click(object sender, EventArgs e) { lblErg.Text = ""; string connectionString = "Provider=" + txtProvider.Text + ";Data Source=" + txtDatenbank.Text + ";Persist Security Info=False;"; using (OleDbConnection connection = new OleDbConnection(connectionString)) { OleDbCommand command = new OleDbCommand(); OleDbTransaction transaction = null; command.Connection = connection; try { connection.Open(); transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted); command.Connection = connection; command.Transaction = transaction; for (int i = 1; i <= 20; i++) { command.CommandText = "Insert Into Kunden (Kurzname) Values ('TestIdent " + i.ToString() + "')"; command.ExecuteNonQuery(); command.CommandText = "SELECT @@IDENTITY"; lblErg.Text += command.ExecuteScalar().ToString(); } transaction.Commit(); } catch (Exception ex) { } } } Über eine Idee würde ich mich sehr freuen. Bearbeitet 17. August 2010 von Timmbo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.