在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!");
                    }                    
                }
            }


本文转载:CSDN博客