0 голосов
спросил от в категории database
Вы делаете:

myQuery="INSERT INTO fubar (fu) VALUES ('bar'); SELECT @@ IDENTITY;" < br>
Затем вы выполняете запрос с помощью ExecuteScalar (NOT ExecuteNonQuery) и передаете результат запроса в int64.

у вас есть ваша личность, чтобы вставить ее в другую таблицу.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
0 голосов
ответил от
Использовать SqlCommand" INSERT INTO имя таблицы (col1, col2, col3, ...) VALUES (val1, val2, val3, ...); Выбрать CAST (@@ Identity AS INT ); «
, а затем ExecuteScalar и результат выполнения как int.
CAST (... AS INT) требуется только в зависимости от используемой базы данных/версии.
0 голосов
ответил от
См. документацию для SCOPE_IDENTITY.

CREATE TABLE [dbo].[T1]( [ID] [int] IDENTITY(1,1) NOT NULL, [field1] [nchar](10) NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[T3]( [ID] [int] IDENTITY(1,1) NOT NULL, [ID_REF] [int] NOT NULL, [field1] [nchar](10) NOT NULL ) ON [PRIMARY] GO
# [
insert into T1 (field1) VALUES('XX'); insert into T3 (ID_REF,field1) VALUES(SCOPE_IDENTITY(),'YY');
#]
< Пример
CREATE TABLE [dbo].[T1]( [ID] [int] IDENTITY(1,1) NOT NULL, [field1] [nchar](10) NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[T3]( [ID] [int] IDENTITY(1,1) NOT NULL, [ID_REF] [int] NOT NULL, [field1] [nchar](10) NOT NULL ) ON [PRIMARY] GO


Примечание. Эти два оператора SQL могут быть отправлены на SQL Server в одной командной строке.
insert into T1 (field1) VALUES('XX'); insert into T3 (ID_REF,field1) VALUES(SCOPE_IDENTITY(),'YY');

Категории

Добро пожаловать на сайт DraftingCode Q&A (ИТ ответы), где вы можете задавать вопросы и получать ответы от других членов сообщества.

Похожие вопросы

...