C#에서 SQL INSERT 후 자동 생성된 ID 검색
이 문서에서는 SQL Server 데이터베이스에 새 레코드를 삽입한 후 자동으로 생성된 ID를 효율적으로 검색하는 일반적인 C# 프로그래밍 과제를 다룹니다. 다양한 SQL Server 버전과의 호환성을 강조하면서 여러 가지 방법을 살펴보겠습니다.
"Mem_Basic"이라는 테이블에 데이터를 삽입하고 새로 생성된 "ID"가 필요하다고 가정해 보세요.
<code class="language-csharp">public class MemberBasicData { public int Id { get; set; } public string Mem_NA { get; set; } public string Mem_Occ { get; set; } } public int CreateNewMember(string Mem_NA, string Mem_Occ ) { // ... (code to be added) }</code>
한 가지 방법은 ExecuteScalar()
을 사용하지만 모든 SQL Server 버전에서 항상 신뢰할 수 있는 것은 아닙니다.
<code class="language-csharp">int modified =(int)cmd.ExecuteScalar(); //Potentially unreliable in older SQL Server versions</code>
SQL Server 2005 이상의 경우 OUTPUT
절은 강력한 솔루션을 제공합니다.
<code class="language-csharp">using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) OUTPUT INSERTED.ID VALUES(@na,@occ)",con)) { // ... (rest of the code) }</code>
그러나 이전 SQL Server 버전(2005 이전)의 경우 SCOPE_IDENTITY()
은 다음과 같은 안정적인 대안을 제공합니다.
<code class="language-csharp">using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ);SELECT SCOPE_IDENTITY();",con)) { // ... (rest of the code) }</code>
이러한 방법을 사용하면 개발자는 SQLINSERT
작업 후에 자동 생성된 ID를 일관되게 검색할 수 있으므로 C# 애플리케이션의 데이터 관리가 향상됩니다.
위 내용은 C#에서 SQL INSERT 후 자동 생성된 ID를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!