在C#中经常要调用存储过程来实现某些功能,这里给出登录方法的存储过程和调用方法(proc_login)
存储过程proc_login
create procedure proc_Login_list
@userid varchar(50),
@password varchar(50),
@re int output
as
begin
declare @flag int
set @flag=(select count(*) from Users where userid=@userid and passwords=@password)
if @flag>0
begin
set @re=1
end
else
begin
set @re=0
end
end
下面是在C#中调用该存储过程的方法代码示例:using (SqlConnection con = new SqlConnection(DBHelper.connectionstring))
{
string name = "proc_login"; //存储过程名字
con.Open();
using (SqlCommand cmd = new SqlCommand())
{
SqlParameter p1 = new SqlParameter("@userid",userid);
p1.Direction = ParameterDirection.Input; //存储过程类型
SqlParameter p2 = new SqlParameter("@password",password);
p2.Direction = ParameterDirection.Input;
SqlParameter p3 = new SqlParameter("@re", SqlDbType.Int);
p3.Direction = ParameterDirection.Output; //必须设置参数的类型
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;//程序执行类型
cmd.CommandText = name;
cmd.ExecuteNonQuery();
object obj = cmd.Parameters["@re"].Value; //定义输出参数类型
string str = obj.ToString();
if (str == "1")
{
MessageBox.Show("Succcess!");
}
else
{
MessageBox.Show("Error!");
}
}
}