내 SQL 쿼리에서 '변수 이름 '@'이 이미 선언되었습니다.' 오류가 발생하는 이유는 무엇입니까?
Jan 01, 2025 am 07:00 AMSQL 쿼리에서 "변수 이름 '@'이 이미 선언되었습니다" 오류
SQL 쿼리를 실행할 때 다음 사항을 확인하는 것이 중요합니다. 쿼리 일괄 처리 또는 저장 프로시저 내에서 선언된 변수 이름은 고유합니다. 이 오류는 '@' 접두사를 사용하여 변수 대체를 사용할 때 자주 발생합니다.
오류 원인
제공된 코드에서 '@LockState'의 두 번째 인스턴스 매개변수 컬렉션에서 오류가 발생합니다. 이는 동일한 쿼리 내에서 각 매개변수가 고유한 이름을 가져야 하기 때문입니다.
해결 방법
이 오류를 해결하려면 다음 해결 방법 중 하나를 구현하세요.
- 각 후 매개변수 컬렉션 지우기 반복:
각 루프 반복 후에 rwd.command.Parameters.Clear()를 사용하여 이전에 추가된 매개변수를 제거하고 다음 반복이 새 세트로 시작되도록 합니다.
for (long counter = from; counter <= to; counter++) { rwd.command.Parameters.Clear(); // ... (remaining code) }
- 외부에서 매개변수 선언 루프:
루프 외부에 매개변수를 선언하고 루프 내에 값을 할당합니다. 이렇게 하면 매개변수가 한 번만 정의됩니다.
rwd.command.Parameters.Add(new SqlParameter("@LockState", SqlDbType.NVarChar)); rwd.command.Parameters.Add(new SqlParameter("@card_descr", SqlDbType.NVarChar)); for (long counter = from; counter <= to; counter++) { // ... (remaining code) rwd.command.Parameters["@LockState"].Value = 1; rwd.command.Parameters["@card_descr"].Value = txt_desc2.Text; }
이 단계를 수행하면 쿼리에서 고유한 변수 이름을 보장하여 "변수 이름 '@'이 이미 선언되었습니다." 오류를 방지하고 원활한 실행.
위 내용은 내 SQL 쿼리에서 '변수 이름 '@'이 이미 선언되었습니다.' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?
