Last_Insert_ID ();
Дает вам последний идентификатор первичного ключа, вы можете просто добавить его в конце текущей вставки, и значение ключа будет возвращено из вашей вставки.
Вот пример C #:
tring sqlIns = "INSERT INTO table (name, information, other) VALUES (@name, @information, @other)";
db.Open();
try
{
SqlCommand cmdIns = new SqlCommand(sqlIns, db.Connection);
cmdIns.Parameters.Add("@name", info);
cmdIns.Parameters.Add("@information", info1);
cmdIns.Parameters.Add("@other", info2);
cmdIns.ExecuteNonQuery();
cmdIns.Parameters.Clear();
cmdIns.CommandText = "SELECT @@IDENTITY";
// Get the last inserted id.
int insertID = Convert.ToInt32( cmdIns.ExecuteScalar() );
cmdIns.Dispose();
cmdIns = null;
}
catch(Exception ex)
{
throw new Exception(ex.ToString(), ex);
}
finally
{
db.Close();
}
Я нашел это в MSDN:
http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/91bd10ce-c83b-4766-920b-2137ddc29908