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.