C#Winform存储过程的调用方法

来源:互联网 发布:本西蒙斯夏季联赛数据 编辑:程序博客网 时间:2024/05/18 17:25

在C#中经常要调用存储过程来实现某些功能,这里给出登录方法的存储过程和调用方法(proc_login

存储过程proc_login

create procedure proc_Login_list@userid varchar(50),@password varchar(50),@re int outputasbegindeclare @flag intset @flag=(select count(*) from Users where userid=@userid and passwords=@password)if@flag>0beginset @re=1endelse beginset @re=0endend
下面是在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!");                    }                                    }            }

0 0