Приветствую всех. При работе с БД часто требуется узнать id последней вставленной записи в таблицу. К примеру в PostgeSQL
1 |
postgres=# INSERT INTO test (name) VALUES ('My Name 1') RETURNING id; |
А вот с SQL метод выглядел бы вот так
1 |
"INSERT INTO test (name) VALUES ('My Name'); SELECT ID FROM test WHERE (ID = SCOPE_IDENTITY())"; |
Однако используя C# ADO.NET и конструктор DataSET при его формировании надо изменить с генерированный код. Перейти к определению метода Insert и поменять метод ExecuteNonQuery(); на метод ExecuteScalar();
1 |
int returnValue = (int)this.Adapter.InsertCommand.ExecuteScalar(); |
Таким образом теперь легко узнать ID вставляемой записи на SQL не изобретая велосипед. А лишь используя возвращаемые методы ID строк.