Brug af @@IDENTITY
Jeg har forsøgt lave en metode som kan indsætte en række i min access database og samtiditg tildele mig id'et som så bliver genereret:public static int ExecuteInsertion(string sql, string tableName)
{
int insertId = -1;
OleDbConnection Conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb");
OleDbCommand Cmd = new OleDbCommand(sql, Conn);
try
{
Conn.Open();
Cmd.ExecuteNonQuery();
OleDbCommand ident = new OleDbCommand("select distinct cast(@@IDENTITY as int) from " + tableName + "", Conn);
OleDbDataReader identResult = ident.ExecuteReader();
if (identResult.Read())
{
insertId = (int)identResult.GetValue(0);
}
identResult.Close();
Conn.Dispose();
}
catch (OleDbException e)
{
string tmp = e.ToString();
}
return insertId;
}
Den fejler med et brag - er der nogen der kan se hvad jeg gør galt?
