public static Boolean OperateData(string strsql)
    {
        try
        {
            SqlConnection conn = DBCon();
            conn.Open();
            SqlCommand cmd = new SqlCommand(strsql, conn);
            cmd.ExecuteScale();
            conn.Close();
            return true;
        }
        catch
        {
            //
            return false;
        }
    }
    //================登陆=========================================
    public static bool CheckPerson(string sname, string sno)
    {
        string sql = "select count(*) from people where sname='" + sname + "' and sno='" + sno + "'";
        OperateData(sql);
        if (OperateData(sql))
        {
            return true;
        }
        else
        {
            return false;
        }
        //conn.Close();
    }
这是App_code里面的Baseclass.cs文件一段代码 为什么连接数据库不起作用 随便什么都可以登录 
用try catch实现的 需要加上什么代码或是什么才可以啊

解决方案 »

  1.   

    int recordCount=(int)cmd.ExecuteScale();然后判断recordCount是否大于0,而不是用什么trycatch捕获异常。
      

  2.   

    好多错的地方,一个是单词写错啦,一个是你的OperateData方法始终返回true,当然没起作用啦,给你改造一下。
    public static bool OperateData(string strsql)
    {
         bool flag = false;
        try
        {
            SqlConnection conn = DBCon();
            conn.Open();
            SqlCommand cmd = new SqlCommand(strsql, conn);
            int i = int.Parse(cmd.ExecuteScalar().ToString());
            conn.Close();
            if(i>0)
            {
                 flag= true;
            }
            else
            {
                 flag = false;
            }
            return flag;
        }
        catch(Exception ex)
        {
             
         }
    }  //================登陆=========================================
    public static bool CheckPerson(string sname, string sno)
    {
        bool flag = false;
        string sql = "select count(*) from people where sname='" + sname + "' and sno='" + sno + "'";
        OperateData(sql);
        if (OperateData(sql))
        {
            flag = true;
        }
        else
        {
            flag = false;
        }
        return flag;
    }