Veröffentlicht 17. August 201015 j 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 201015 j von Timmbo
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.