이 아닙니다. asp.net 응용 프로그램의 백엔드로 SQL Server가 있습니다. 여러 사람이 '같은 시간에 동일한 테이블에 데이터를 삽입 할 수 있습니다 ...'. 내가 다른 사용자의 삽입의 ID를 얻을 수 있기 때문에 scope_identity vs ident_current가IDENT_CURRENT는 마지막 ID 값을 반환하지만 SCOPE_IDENTITY는
그때 나는 Ident_current
을 사용해서는 안 : 나는이 게시물에서 솔루션/답을 읽어
.
그러나 Select Scope_Identity();
을 사용하면 Select IDENT_CURRENT('tableName')
이 SQL Server Management Studio에서 확인한 올바른 ID를 반환하는 동안 NULL을 반환합니다.
삽입 문은 SqlTransaction
안에 있습니다. 트랜잭션 후 Select IDENT_CURRENT('tableName')
이 완료됩니다.
무엇이 잘못 되었나요?
UPDATE :
내 삽입 문을 동적으로 기본 클래스에 의해 함께 구축된다
INSERT INTO TEST (NAME) VALUES (@Name)
명령의 매개 변수 컬렉션 값이 "XXX"모든 것이 잘 테이블에 삽입했다
.
나는 C#으로 순수 SqlDataReader
이라는 저장 프로 시저를 사용하지 않습니다. 그것은 INSERT
과 혼란 SELECT
...
삽입 명령을 표시하십시오. 지난 주 비슷한 질문에 대한 내 대답 좀 봐, 아마도 도움이 : http://stackoverflow.com/questions/9319532/return-value-from-sql-server-insert-command-using-c-sharp/9319609 # 9319609 동일한 범위에서 scope_identity를 사용해야합니다. –
아마도 두 명령을 완전히 독립적으로 실행했을 것입니다. –
나는 그것들을 독립적으로 실행한다. – Pascal