C# 프로그램에서 저장 프로시저를 호출할 때, 이상한 예외 String[3]: Size 속성의 크기가 0입니다.
이 문제를 가진 저장 프로시저는 varchar 또는 nvarchar 타입의 매개변수가 존재하는 것이 특징입니다
호출 시점의 이 매개변수의 정의는 다음과 유사합니다. SqlParameter para = new SqlParameter("@paraname", DBType.String);
우회 방법: out 매개변수는 지정된 길이를 가져야 하므로 다음과 같이 초기화해야 합니다: SqlParameter para = new SqlParameter("@paraname", DBType.String, size);
- DBHelper db = new DBHelper();
- SqlParameter[] param = new SqlParameter[5];
- param[0] = new SqlParameter("ID", SqlDbType.Int);
- param[0].Direction = ParameterDirection.Output;
- param[1] = new SqlParameter("UserID", userid);
- param[2] = new SqlParameter("UserName", SqlDbType.NVarChar, 50);
- param[2].Direction = ParameterDirection.Output;
- param[3] = new SqlParameter("Password", pass);
- param[4] = new SqlParameter("Result", SqlDbType.Int);
- param[4].Direction = ParameterDirection.Output;
- var spc = db.Crm_ExecuteNonQueryReturns("pUserLogin",param);
코드 복사
|