홈>
변수 @result를 1 또는 0 (데이터 유형 비트)으로 설정 한 저장 프로 시저가 있습니다. 다음 코드를 사용하여 C #에서 액세스하고 있습니다. 너무 많은 매개 변수를 말하는 오류가 발생합니다.
protected void btnRegister_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
SqlCommand Cmd = new SqlCommand("usp_CheckEmailMobile", con);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.CommandText = "Registration";
Cmd.Parameters.AddWithValue("@Name", txtName.Text);
Cmd.Parameters.AddWithValue("@Email", txtEmailAddress.Text);
Cmd.Parameters.AddWithValue("@Password", txtPassword.Text);
Cmd.Parameters.AddWithValue("@CountryCode", ddlCountryCode.Text);
Cmd.Parameters.AddWithValue("@Mobile", txtMobileNumber.Text);
//Cmd.Parameters.Add("@Result", DbType.Boolean);
SqlParameter sqlParam = new SqlParameter("@Result", DbType.Boolean);
//sqlParam.ParameterName = "@Result";
//sqlParam.DbType = DbType.Boolean;
sqlParam.Direction = ParameterDirection.Output;
Cmd.Parameters.Add(sqlParam);
Cmd.ExecuteNonQuery();
con.Close();
Response.Write(Cmd.Parameters["@Result"].Value);
}
저장 프로 시저 : (괜찮아요 ...) CS 코드를 수정하십시오 ...
ALTER PROCEDURE [dbo].[usp_CheckEmailMobile]
( @Name VARCHAR(50),
@Email NVARCHAR(50),
@Password NVARCHAR(50),
@CountryCode INT,
@Mobile VARCHAR(50),
@Result BIT OUTPUT)
AS
BEGIN
IF EXISTS (SELECT COUNT (*) FROM AUser WHERE [Email] = @Email AND [Mobile] = @Mobile)
Begin
Set @Result=0; --Email &/or Mobile does not exist in database
End
ELSE
Begin
--Insert the record & register the user
INSERT INTO [AUser] ([Name], [Email], [Password], [CountryCode], [Mobile]) VALUES (@Name, @Email, @Password, @CountryCode, @Mobile)
Set @Result=1;
End
END
- 답변 # 1
- 답변 # 2
설정 이유 :
Cmd.CommandText = "Registration";
이것은 저장 프로 시저 이름을 대체하므로 지정한 저장 프로 시저를 호출하지 않습니다 :
SqlCommand Cmd = new SqlCommand("usp_CheckEmailMobile", con);
"전선을 통해"가는 SQL이 예상 한대로 디버깅하기 위해 SQL 프로파일 러를 사용하는 것이 유용 할 수 있습니다.
관련 자료
- sql server - SQL 스토어드 프로 시저에서 TEXT 데이터 유형 변수 매개 변수 분할
- c# - ASPNET의 MySQL 저장 프로 시저에서 출력 매개 변수를 호출하는 방법
- sql - 매개 변수 저장 프로 시저가있는 조건부 쿼리
- tsql - t-sql 저장 프로 시저 선택적 var char 매개 변수가 예상대로 작동하지 않습니다
- mariadb - 저장 프로 시저에 오류가 발생하면 매개 변수를 설정하는 방법은 무엇입니까?
- amazon redshift - 저장 프로 시저에서 null 인 경우 동적 매개 변수 처리
- c# - 매개 변수가있는 Dapper Postgres 저장 프로 시저
- sql - 비어 있지 않은 문자열에 대한 스토어드 프로 시저 매개 변수 검사
- 최대 절전 모드 엔티티 관리자를 사용하여 스프링 부트에서 출력 매개 변수로 MySQL 저장 프로 시저를 호출하는 방법
- oracle - OUT 매개 변수로 저장 프로 시저를 호출하는 방법은 무엇입니까?
- 날짜 매개 변수를 전달하는 SQL Server 저장 프로 시저
- sql - PowerApps 데이터 소스가 저장 프로 시저로 변경됨
- sql server - 데이터베이스가 온라인 상태가되면 저장 프로 시저 실행
- c# - observablecollection의 동적 메뉴 - 매개 변수로 항목 전달
- sql server - 빠른 추가를위한 저장 프로 시저
- sql server - dtexec에 Project 매개 변수 전달
- java springboot 프로그램 풀 빈 오류에서 저장 프로 시저 호출
- sql - 정규식을 사용하여 mysql에서 입력 매개 변수를 평가하는 절차 만들기
- sql - 테이블 값 함수 및 커서를 사용하는 저장 프로 시저 커서를 가져 오는 중 오류가 없습니다
- EF Core 22, FromSql 문에 문자열 매개 변수 전달
이 코드를 사용해보십시오 :