解决方案 »

  1.   

    数据库是sql server  2008
      

  2.   

    你用参数化查询(@UserName),总要对参数化赋值啊,你先去看看如何使用参数化查询
      

  3.   

       SqlCommand SqlComm = new SqlCommand("select * from Login  where UserName = @UserName and PassWord = @PassWord ");可以用 SqlCommand SqlComm = new SqlCommand("select * from Login  where UserName =‘”+UserName +“’ and PassWord = ‘”+PassWord +“’");
      

  4.   

    “/UserWeb”应用程序中的服务器错误。ExecuteReader: Connection 属性尚未初始化。说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: ExecuteReader: Connection 属性尚未初始化。源错误: 
    行 28: 
    行 29:                 //SqlComm.CommandText = "select * from Login  where UserName = @UserName and PassWord = @PassWord ";
    行 30:                 SqlDataReader thisReader = SqlComm.ExecuteReader();
    行 31:                 if (thisReader.Read())
    行 32:                 {源文件: d:\UserManagers\UserManager\UserWeb\Login.aspx.cs    行30
    报这个错误
      

  5.   

    1.SqlComm.CommandText = "select * from Login  where UserName = @UserName and PassWord = @PassWord "; 这种方式的话,你要给参数赋值,command要addparameter。
    2.SqlComm你还没设置connection;你要给命令指定连接,执行sql文本,参数。
      

  6.   

     SqlCommand SqlComm = new SqlCommand("select * from Login  where UserName ='"+UserName+"' and PassWord='"+PassWord+"'");
      

  7.   

    先找本ado.net基础的书看吧
    很基础的东西
      

  8.   

    sql登录示例
    protected void btnLog_Click(object sender, EventArgs e)
        {
                                //创建数据库连接
                SqlConnection con = new SqlConnection("server=.;database=User ;uid=sa;pwd=;");
                //打开数据库连接
                con.Open();
                //创建SQL语句,该语句用来查询用户输入的用户名和密码是否正确
                string sqlSel = "select count(*) from Login where userName=@name and userPass=@pass";
                //创建SqlCommand对象
                SqlCommand com = new SqlCommand(sqlSel, con);
                //使用Parameters的add方法添加参数类型
                com.Parameters.Add(new SqlParameter("name", SqlDbType.VarChar, 20));
                //设置Parameters的参数值
                com.Parameters["name"].Value = txtUserName.Text;
                com.Parameters.Add(new SqlParameter("pass", SqlDbType.VarChar, 50));
                com.Parameters["pass"].Value = pass;
                //判断ExecuteScalar方法返回的参数是否大于0大于表示登录成功并给出提示
                if (Convert.ToInt32(com.ExecuteScalar()) > 0)
                {
                    RegisterStartupScript("", "<script>alert('登录成功!')</script>");
                    //清空文本框
                    txtCode.Text = txtUserName.Text = "";
                }
                else
                {
                    RegisterStartupScript("", "<script>alert('用户名或密码错误!')</script>");
                }
            
        }
      

  9.   

    另外,你reader后没有close 这是很忌讳的事
      

  10.   

    在SQL语句中:
    将login改为 [login]
    将password改为 [password]