2009-11-15 5 views
0

은 내가 출력을 변수 사용 바로 아래에 또 다른 삽입 쿼리에서이 변수를 저장할 asp.net SQL 쿼리 도움말

SqlCommand QueidCmd = new SqlCommand("select scope_identity() from table1", conn); 

asp.net

의 SQL 쿼리가 있습니다. ..이 두 쿼리는 모두 루프에 있습니다.이 작업을 수행 할 수 있습니까?

답변

2

첫째, 테이블에서 SCOPE_IDENTITY()를 선택하지 마십시오; 그것은 잘못된 일을 할 것입니다.

다음으로 질문에 대한 대답의 핵심은 여러 명령/쿼리를 세미콜론으로 구분하여 SqlCommand에 대한 단일 명령문으로 결합 할 수 있다는 것입니다. 예 :

변수를 도입하려면 문자열 연결이 아닌 매개 변수가있는 쿼리를 사용해야합니다.

저장 프로 시저를 사용할 수도 있습니다. 저장 프로 시저는 종종 더 깨끗한 방법입니다.

+0

안녕하시오 고마워요 정말 고마워요. – anay

2

당신은 하나의 SQL 쿼리를 수행 할 수 있습니다

DECLARE @myVariable YOUR_TYPE; 
SELECT @myVariable = SCOPE_IDENTITY() FROM table1; 
UPDATE table2 SET something = @myVariable; 
+0

예 ..하지만 이것은 SQL 서버에서 수행됩니다. asp.net – anay

1

사용 :

object retVal = QueidCmd.ExecuteScalar(); 
int pk = Convert.ToInt32(retVal); // use this in your next insert