不能将参数传入存储过程,不知道代码是怎么回事哈。大家看看, 不知道哪里错了。 int returnNo=0;
SqlDataAdapter sqlDataA = new SqlDataAdapter();
string execProc = "EXEC LoginCheckProc";
SqlCommand scmd = new SqlCommand(execProc,connection);
scmd.CommandType = CommandType.StoredProcedure;
// scmd.Parameters.Add("@name",SqlDbType.VarChar,16);
//scmd.Parameters.Add("@password",SqlDbType.VarChar,16);
SqlParameter[] para = new SqlParameter[3];
para[0] = new SqlParameter("@name",SqlDbType.VarChar,16);
para[0].Direction = ParameterDirection.Input;
para[0].Value = userName;
//sqlDataA.SelectCommand.Parameters.Add(para[0]);
para[1] = new SqlParameter("@password",SqlDbType.VarChar,16);
para[1].Direction = ParameterDirection.Input;
para[1].Value = password;
//sqlDataA.SelectCommand.Parameters.Add(para[1]);
para[2] = new SqlParameter(
para[2].Direction = ParameterDirection.Output;
para[2].Value = returnNo;
//sqlDataA.SelectCommand.Parameters.Add(para[2]);
//返回存储过程返回值
para[2] = new SqlParameter("@returnNo",SqlDbType.Int,1);
para[2].Direction = ParameterDirection.ReturnValue;
para[2].Value = returnNo; return returnNo;
SqlDataAdapter sqlDataA = new SqlDataAdapter();
string execProc = "EXEC LoginCheckProc";
SqlCommand scmd = new SqlCommand(execProc,connection);
scmd.CommandType = CommandType.StoredProcedure;
// scmd.Parameters.Add("@name",SqlDbType.VarChar,16);
//scmd.Parameters.Add("@password",SqlDbType.VarChar,16);
SqlParameter[] para = new SqlParameter[3];
para[0] = new SqlParameter("@name",SqlDbType.VarChar,16);
para[0].Direction = ParameterDirection.Input;
para[0].Value = userName;
//sqlDataA.SelectCommand.Parameters.Add(para[0]);
para[1] = new SqlParameter("@password",SqlDbType.VarChar,16);
para[1].Direction = ParameterDirection.Input;
para[1].Value = password;
//sqlDataA.SelectCommand.Parameters.Add(para[1]);
para[2] = new SqlParameter(
para[2].Direction = ParameterDirection.Output;
para[2].Value = returnNo;
//sqlDataA.SelectCommand.Parameters.Add(para[2]);
//返回存储过程返回值
para[2] = new SqlParameter("@returnNo",SqlDbType.Int,1);
para[2].Direction = ParameterDirection.ReturnValue;
para[2].Value = returnNo; return returnNo;
conn.Open();
SqlCommand MyCommand = new SqlCommand("MYSQL", conn);
MyCommand.CommandType = CommandType.StoredProcedure;
MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));
MyCommand.Parameters["@a"].Value = 20;
MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));
MyCommand.Parameters["@b"].Direction = ParameterDirection.Output;
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@b"].Value.ToString());
create proc LoginCheckProc
@name varchar(16),@password varchar(16),@returnNo int output
as
begin
if exists(select 1 from enterpriseUserInfo where enterpUserName = @name and enterpUserPassword= @password)
begin
set @returnNo=1
end
else if exists (select 1 from personalUserInfo where userName = @name and userPassword =@password)
begin
set @returnNo=2
end
else if exists(select 1 from partTimeManInfo where partTimerName=@name and partPassword = @password)
begin
set @returnNo =3
end
else
begin
set @returnNo=0
end
end
public int checkLoginProc(string userName,string password)
{
int returnNo=0;
SqlDataAdapter sqlDataA = new SqlDataAdapter();
string execProc = "EXEC LoginCheckProc";
SqlCommand scmd = new SqlCommand(execProc,connection);
scmd.CommandType = CommandType.StoredProcedure;
scmd.Parameters.Add(new SqlParameter("@name",SqlDbType.VarChar));
scmd.Parameters["@name"].Value = userName;
scmd.Parameters.Add(new SqlParameter("@password",SqlDbType.VarChar));
scmd.Parameters["@password"].Value = password;
scmd.Parameters.Add(new SqlParameter("@retrunNo",SqlDbType.Int));
returnNo = Convert.ToInt32(scmd.Parameters["@returnNo"].Value.ToString());
return returnNo;
}
SqlDataAdapter sqlDataA = new SqlDataAdapter();
string execProc = "EXEC LoginCheckProc";
SqlCommand scmd = new SqlCommand(execProc,connection);
scmd.CommandType = CommandType.StoredProcedure;
// scmd.Parameters.Add("@name",SqlDbType.VarChar,16);
//scmd.Parameters.Add("@password",SqlDbType.VarChar,16);
SqlParameter[] para = new SqlParameter[3];
para[0] = new SqlParameter("@name",SqlDbType.VarChar,16);
//返回存储过程返回值
para[2] = new SqlParameter("@returnNo",SqlDbType.Int,1);
para[2].Direction = ParameterDirection.ReturnValue;
para[2].Value = returnNo;
scmd.Parameters.AddRange(para);
return returnNo;
public int checkLoginProc(string userName,string password)
{
int returnNo=0;
SqlDataAdapter sqlDataA = new SqlDataAdapter();
string execProc = "EXEC LoginCheckProc";
SqlCommand scmd = new SqlCommand(execProc,connection);
scmd.CommandType = CommandType.StoredProcedure;
scmd.Parameters.Add(new SqlParameter("@name",SqlDbType.VarChar));
scmd.Parameters["@name"].Value = userName;
scmd.Parameters.Add(new SqlParameter("@password",SqlDbType.VarChar));
scmd.Parameters["@password"].Value = password;
scmd.Parameters.Add(new SqlParameter("@returnNo",SqlDbType.Int));
scmd.Parameters["@returnNo"].Direction = ParameterDirection.Output;
scmd.ExecuteNonQuery();//没有找到存储过程 EXEC LoginCheckProc
//下面代码有点问题
returnNo = Convert.ToInt32(scmd.Parameters["@returnNo"].Value.ToString());
return returnNo;
}
你运行SQL语句又写 CommandType.StoredProcedure 作什么?
你运行存储过程怎么又写SQL命令EXEC .
你这不是自相矛盾.