C#을 사용하여 삽입된 행의 식별자 검색
자동 증가된 "ID" 필드가 포함된 데이터베이스 테이블에서 ID 가져오기 최근에 삽입된 행이 반복되는 작업인 것으로 나타났습니다. 이는 ID에 따른 후속 작업에 특히 중요합니다.
귀하의 경우 삽입 명령을 실행했음에도 불구하고 검색된 ID 값이 일관되게 0을 반환했습니다. 이러한 불일치는 명령에서 반환된 첫 번째 행의 첫 번째 열을 검색하는 ExecuteScalar의 사용으로 인해 발생합니다. 특정 열이 프로젝션되지 않으므로 첫 번째 인덱스의 값이 검색됩니다. 그러나 자동 증가 ID는 일반적으로 명령 삽입 후에 생성되므로 처음에는 ID 열에 아무것도 포함되지 않습니다.
이 문제를 해결하려면 다음과 같이 코드를 수정하는 것이 좋습니다.
MySqlCommand comm = connect.CreateCommand(); comm.CommandText = insertStatement; // Set the insert statement comm.ExecuteNonQuery(); // Execute the command long id = comm.LastInsertedId; // Get the ID of the inserted item
중요한 차이점은 값을 반환하지 않고 insert 문을 구체적으로 실행하는 ExecuteNonQuery를 사용한다는 점입니다. 이후에 LastInsertedId를 호출하면 생성된 ID 값을 직접 검색합니다.
이 접근 방식은 자동 증가된 ID를 검색해야 한다는 요구 사항에 맞춰 ExecuteScalar에서 발생하는 문제를 제거합니다.
위 내용은 C#을 사용하여 삽입된 행의 ID를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!