日期:2014-05-18  浏览次数:20685 次

帮忙看一下这个登录验证的错误
老提示在 ''附近有个语法错误,我看了半天也没有研究透
C# code

            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("用户名错误");
                }    
            }




------解决方案--------------------
[UserName]试试,或者把cmdStr 显示出来看看最终结果,或放到数据库中试试
------解决方案--------------------
string cmdStr = "SELECT * FROM User_T where [UserName]= '"+username+"'";
------解决方案--------------------

UserName是SQL保留关键字

建议用User_Name
------解决方案--------------------
探讨

引用:

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


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