SqlConnection sqlconn = new SqlConnection("Data Source=(local);Database=fhq_session:Uid=sa;Pwd=sa");
        sqlconn.Open();
        SqlCommand sqlcom = sqlconn.CreateCommand();
        sqlcom.CommandText = "select count(*)from Region where name='"+TextBox1.Text+"'and pwd='"+TextBox2.Text+"'";
        int count = Convert.ToInt32(sqlcom.ExecuteScalar());
        if (count > 0)
        {
           Page.Response.Redirect("index_dlh.aspx");
        }
        else
        {
            Response.Write("<script lanuage=javascript>alert('用户名或密码不正确!');location='javascript:history.go(-1)'</script>");
这是个普通的验证登录框总 报错我代码哪里写错了吗??

解决方案 »

  1.   

    说清楚点,那个地方报错
    sqlcom.ExecuteScalar()里面返回的是什么
      

  2.   

    {"用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。"}
    报的就是这个错误!!!
      

  3.   

    断点跟踪看看sqlcom.ExecuteScalar()返回什么值
      

  4.   

    sqlconn.Open(); 走到这里就报那个错了
      

  5.   

     如果是sqlconn.Open(); 报错
    证明 数据库连接不上. 仔细检查下配置.
      

  6.   

    SqlConnection sqlconn = new SqlConnection("Data Source=(local);Database=fhq_session:Uid=sa;Pwd=sa"); 
            sqlconn.Open(); 
            SqlCommand sqlcom = sqlconn.CreateCommand(); 
            sqlcom.CommandText = "select count(*)from Region where name='"+TextBox1.Text+"'and pwd='"+TextBox2.Text+"'";    /*    ExecuteScalar()返回的是首行首列
       int count = Convert.ToInt32(sqlcom.ExecuteScalar()); 
            if (count > 0) 
            { 
              Page.Response.Redirect("index_dlh.aspx"); 
            } 
            else 
            { 
                Response.Write(" <script lanuage=javascript>alert('用户名或密码不正确!');location='javascript:history.go(-1)' </script>"); 
            }
       */            SqlDataReader sdr= cmd.ExecuteReader();            if(sdr.Read())
                {      
                    sdr.Close();         
                    Page.Response.Redirect("index_dlh.aspx"); 
                }
                else
                {
                    sdr.Close();
                   Response.Write(" <script lanuage=javascript>alert('用户名或密码不正确!');location='javascript:history.go(-1)' </script>"); 
                }     
      

  7.   

    SqlConnection sqlconn = new SqlConnection("Data Source=(local);Database=fhq_session:Uid=sa;Pwd=sa"); 
            sqlconn.Open(); 
            SqlCommand sqlcom = sqlconn.CreateCommand(); 
            sqlcom.CommandText = "select count(*)from Region where name='"+TextBox1.Text+"'and pwd='"+TextBox2.Text+"'";   /*    ExecuteScalar()返回的是首行首列 
      int count = Convert.ToInt32(sqlcom.ExecuteScalar()); 
            if (count > 0) 
            { 
              Page.Response.Redirect("index_dlh.aspx"); 
            } 
            else 
            { 
                Response.Write(" <script lanuage=javascript>alert('用户名或密码不正确!');location='javascript:history.go(-1)' </script>"); 
            } 
      */             SqlDataReader sdr= sqlcom.ExecuteReader();             if(sdr.Read()) 
                {      
                    sdr.Close();        
                    Page.Response.Redirect("index_dlh.aspx"); 
                } 
                else 
                { 
                    sdr.Close(); 
                  Response.Write(" <script lanuage=javascript>alert('用户名或密码不正确!');location='javascript:history.go(-1)' </script>"); 
                }  试试,或许能用  
      

  8.   

    SqlConnection sqlconn = new SqlConnection("Data Source=(local);Database=fhq_session:Uid=sa;Pwd=sa"); 
    换成下面的试试:
    SqlConnection sqlconn = new SqlConnection("server=.\sqlexpress;user=sa;pwd=sa;database=fhq_session"); 
      

  9.   

    你用这段代码试试看。。
    SqlConnection sqlconn = new SqlConnection("Server=(local);Database=fhq_session:Uid=sa;Pwd=sa"); 
            
    string sql="select count(*)from Region where name='"+TextBox1.Text+"'and pwd='"+TextBox2.Text+"'";
            SqlCommand sqlcom = new SqlCommand(sql,sqlconn);
           sqlconn.Open(); 
            int count = (int)sqlcom.ExecuteScalar(); 
            if (count > 0) 
            { 
              Page.Response.Redirect("index_dlh.aspx"); 
            } 
            else 
            { 
                Response.Write(" <script lanuage=javascript>alert('用户名或密码不正确!');location='javascript:history.go(-1)' </script>"); 
    我想这样的话是可以解决的可能的话。  int count = (int)sqlcom.ExecuteScalar(); 
    这句话可能会出错那是因为数据库字段的类型转换有问题
      

  10.   

    确定是否设置好了SQL Server的允许远程连接(用sa).
      

  11.   

    推荐个好的学习网站
    http://www.it63.net一起去学习学习