老提示在 ''附近有个语法错误,我看了半天也没有研究透            string username = textBox1.Text;
            string password = textBox2.Text;
            using (SqlCommand cmd = conn.CreateCommand())
            {
                string cmdStr = "SELECT * FROM User_T where UserName= '"+username+"'";
                SqlCommand sqlCom = new SqlCommand(cmdStr, conn);//定义查询命令
                SqlDataReader reader = sqlCom.ExecuteReader();//执行查询
                if (reader.Read())
                {
                    //用户名存在
                    string dbpassword = reader.GetString(reader.GetOrdinal("Password"));
                    if (password == dbpassword)//比较数据
                    {
                        MessageBox.Show("登陆成功");
                    }
                    else
                    {
                        MessageBox.Show("密码错误,登陆失败");
                    }
                }
                else
                {
                    MessageBox.Show("用户名错误");
                }    
            }

解决方案 »

  1.   

    [UserName]试试,或者把cmdStr 显示出来看看最终结果,或放到数据库中试试
      

  2.   

      string cmdStr = "SELECT * FROM User_T where [UserName]= '"+username+"'";
      

  3.   


    UserName是SQL保留关键字建议用User_Name
      

  4.   

    哦,谢谢,不过我改过好,好了,可以用了,不过现在又有问题了,就是我的登录次数只能按一次,错误,再试就会出错bug
      

  5.   

    方法很多
    问题都是一些小问题
    我常用下面的方法
    把你的这一行
    string cmdStr = "SELECT * FROM User_T where UserName= '"+username+"'";
    换成
    string cmdStr  = String.Format("SELECT * FROM User_T where UserName ='{0}'",username);
    楼主不防试试
      

  6.   


    如何增加可以验证的次数,我验证一次再再验证就会出bug