Asp.net中存储过程的使用
注:Parameters的Direction属性:获取或设置一个值,指示参数是只可输入、只可输出、双向还是存储过程返回参数。它的取值范围是ParameterDirection枚举类型。
枚举值及说明
枚举名称
|
说明
|
Input
|
参数是输入参数
|
InputOutput
|
参数既是输入,也是输出参数
|
Output
|
参数是输出参数
|
ReturnValue
|
返回值
|
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == Request.Cookies["ImageV"].Value) //
使用验证码
{
conn.Open();
SqlCommand cmd = new SqlCommand("login", conn);
cmd.CommandType = CommandType.StoredProcedure; //CommandType
属性设置:这里采用存储过程
cmd.Parameters.Add("@user", SqlDbType.VarChar, 20);
cmd.Parameters.Add("@pwd", SqlDbType.VarChar, 20);
cmd.Parameters["@user"].Value = UserName.Text;
cmd.Parameters["@pwd"].Value = FormsAuthentication.HashPasswordForStoringInConfigFile(this.UserPwd.Text, "MD5");
cmd.Parameters.Add("@Return", SqlDbType.Bit, 2);
cmd.Parameters["@Return"].Direction = ParameterDirection.Output; //
要注意Output的大小写
cmd.ExecuteNonQuery();//
一定先执行,才可以获得@Return值
conn.Close();
bool flag = Convert.ToBoolean(cmd.Parameters["@Return"].Value);
//
if (flag)
{
Response.Cookies["AdminCookies"].Value = UserName.Text;
Response.Redirect("index.html");
}
else
//Response.Write("
用户名或密码错误");
Response.Write("<script language='javascript'>alert('
登陆失败!用户名或密码输入不正确!!');location='LoginProc.aspx'</script>"
);
}
else
{
Response.Write("<script language='javascript'>alert('
登陆失败!验证码输入不正确!!');location='LoginProc.aspx'</script>"
);
}
}