【发布时间】:2017-09-21 21:42:15
【问题描述】:
我有 3 层网站 asp.net c#。我想选择用户并检查他的登录用户类型。但我的代码不起作用。和上面显示的错误。请帮我做什么。 我的代码 DAL:
public SqlDataReader select_user(string UserName)
{
connect.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM UserInfo WHERE UserName=@UserName", connect);
cmd.Parameters.AddWithValue("@UserName", UserName);
SqlDataReader dr = cmd.ExecuteReader();
return dr;
}
和 BL:
public SqlDataReader Get_user()
{
return da.select_user(UserName);
}
及接口代码:
try
{
bll.UserName = UserNameTextBox.Text;
Session.Add("_UserName", bll.UserName);
bll.Get_user();
SqlDataReader dr = bll.Get_user();
if (dr.HasRows)
{
dr.Read();
int Utyp = bll.UserTyp;
if (Utyp == 0)
{
Session.Add("Msg_", "dear user. you are unactive yet");
Response.Redirect("ShowMessage.aspx", false);
}
else
if (Utyp == 1)
{
Response.Redirect("index.aspx", false);
}
}
else
{
}
}
catch (Exception ex)
{
Session.Add("Msg_", " : <br>" + ex.Message);
Response.Redirect("~/ShowMessage.aspx");
}
【问题讨论】:
-
你可以使用 using 语句来包装所有 ado.net 对象,如 using() {} 并且会小心关闭和处置对象
-
答案对你有用吗@reza ?