저장 프로시저 또는 함수에 제공된 것으로 알려진 매개 변수가 필요한 경우
SQL Server 데이터베이스에 데이터를 삽입하기 위해 저장 프로시저를 호출할 때 다음과 같은 문제가 발생할 수 있습니다. "프로시저 또는 함수 ' 저장 프로시저 이름 '에 제공되지 않은 '@parameter name' 매개 변수가 필요합니다." 이 오류 메시지는 특히 저장 프로시저에 올바른 매개변수가 있고 해당 매개변수가 코드에 제공되고 있음을 확인한 경우 혼란스러울 수 있습니다.
오류 문제 해결
이 문제를 해결하려면 다음 사항을 철저히 검토하세요.
샘플 코드 업데이트
다음은 매개변수를 명시적으로 지정하는 업데이트된 버전의 코드입니다. 명령 유형 및 매개변수 값:
public void SHOWuser(string userName, string password, string emailAddress, List<int> preferences) { using var dbcon = new SqlConnection(conn); using var cmd = new SqlCommand(); cmd.Connection = dbcon; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "SHOWuser"; cmd.Parameters.AddWithValue("@userName", userName); cmd.Parameters.AddWithValue("@password", password); cmd.Parameters.AddWithValue("@emailAddress", emailAddress); dbcon.Open(); int i = Convert.ToInt32(cmd.ExecuteScalar()); cmd.Parameters.Clear(); cmd.CommandText = "tbl_pref"; foreach (int preference in preferences) { cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@userID", Convert.ToInt32(i)); cmd.Parameters.AddWithValue("@preferenceID", Convert.ToInt32(preference)); cmd.ExecuteNonQuery(); } }
매개변수 이름, 데이터 유형, 명령 유형 및 매개변수를 주의 깊게 검사하여 주문하면 이 오류를 완화하고 저장 프로시저를 성공적으로 실행할 수 있습니다.
위 내용은 내 SQL 저장 프로시저에서 '프로시저 또는 함수 '...'에 '@parameter name' 매개변수가 제공되지 않았습니다.' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!