에서 AUTO_INCREMENT ID를 가져옵니다 :이 코드가 테이블
string conStr = ConfigurationManager.ConnectionStrings["BackgammonGame"].ConnectionString;
SqlConnection con = new SqlConnection(conStr);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
con.Open();
cmd.CommandText = ("INSERT INTO Game (playerA, playerB) OUTPUT INSERTED.gameID VALUES (@playerA, @playerB)");
cmd.Parameters.Add("@playerA", SqlDbType.NVarChar).Value = firstPlayer;
cmd.Parameters.Add("@playerB", SqlDbType.NVarChar).Value = secondPlayer;
cmd.ExecuteNonQuery();
int id = (int)cmd.ExecuteScalar();
con.Close();
내가이 테이블에 삽입 할 때, 나는 AUTO_INCREMENT INT 기본 키 열이 gameID
라고, 그리고 나는 내가 gameID
을 원하는 SQL 문에서 선언 출력. 내 문제는 코드에서이 줄을 쓸 때 : int id = (int)cmd.ExecuteScalar();
삽입 된 매개 변수가 테이블에서 두 번 (동일한 정보가있는 두 줄) 나타납니다. 그러나 삭제하면 괜찮습니다.
다른 테이블에서이 ID를 사용할 수 있도록이 행이 필요합니다.
SELECT SCOPE_IDENTITY() 삽입 된 ID를 알려주세요. 이제 라인에 예외가 생겼습니다 : int id = (int) cmd.ExecuteScalar(); 예외는 캐스트가 좋지 않다는 것입니다. –
범위 ID는 삽입 된 행 – Nithesh
의 ID 값을 반환합니다.이 경우 – Nithesh