A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 茹化肖 于 2013-11-21 16:04 编辑
  1. <div class="blockcode"><blockquote>UI层的代码

  2. protected void btnlogin_Click(object sender, EventArgs e)
  3.     {
  4.         UserInfo user = new UserInfo();
  5.         user.UserName = txtusername.Text.Trim();
  6.         user.UserPwd = Txtpwd.Text.Trim();
  7.         if (!BLL.LoginCheck(user))
  8.         {
  9.             Response.Write("<script>alert('Username or Pwd ERROR!');</script>");
  10.         }
  11.         else
  12.         {
  13.             Response.Write("<script>alert('success!');</script>");
  14.             Response.Redirect("~/UIQ/Contentlist1.aspx");
  15.         }
复制代码
/// <summary>
///BLL 业务逻辑层,静态方法,
/// </summary>
public class BLL
{
    //登陆查询是否存在该用户
    public static bool LoginCheck(UserInfo user)
    {
        DAL dal = new DAL();
        if (user.UserName == "" || user.UserPwd == "")
            return false;
        else
        {
  
                if ((int)dal.SelectByName(user) > 0)//这句报错 ,dal 的值为NULL
                    return true;
                else
                    return false;
      
        }

    }

}下面给另外 selectByName 的代码
  1. public object SelectByName(UserInfo user)
  2.     {
  3.         string sql = string.Format("select count(*) from UserInfo where username={0}", user.UserName);
  4.         return SqlHelper.ExecuteScalar(sql);
  5.     }
复制代码
下面是 sqlHelper 的代码
  1. public static object ExecuteScalar(string sql, params SqlParameter[] cmdParams)//查询返回第一行第一列 object
  2.     {

  3.         SqlCommand cmd = new SqlCommand(sql, conn);
  4.         foreach (SqlParameter parm in cmdParams)
  5.         {
  6.             cmd.Parameters.Add(parm);
  7.         }
  8.         try
  9.         {
  10.             conn.Open();
  11.             object o = cmd.ExecuteScalar();
  12.             return o;
  13.         }
  14.         catch
  15.         {
  16.             return null;
  17.         }
  18.         finally
  19.         {
  20.             cmd.Dispose();
  21.             conn.Close();
  22.             conn.Dispose();
  23.         }
  24.     }
复制代码
请各位给指导下 这个值为null 的时候 怎么排错?

评分

参与人数 1技术分 +1 收起 理由
V_John + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
问题解决了 ,sql语句的里面{0} 少加引号
回复 使用道具 举报
茹化肖 发表于 2013-11-21 16:11
问题解决了 ,sql语句的里面{0} 少加引号

版主,怎么不使用Using了,:D
回复 使用道具 举报
u010209195 发表于 2013-11-21 18:59
版主,怎么不使用Using了,

做三层的时候,一般在数据库层的时候大部分的都是try catch ,也是为了 每层的错误都不报给别的层吧。这里的using可以释放连接。但是我不是每个都写了关闭连接了么?所以应该没太多区别吧。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马