验证登陆账号密码是否匹配时当在sql表中用户名为int时无错误 当改为字符串就有以下错误 如 账号为123密码1234就可以 账号ddd密码123就会出现以下错误这是处理那一段的代码:String str2="SELECT PassWord FROM uuu WHERE ID="+ulog.getText().trim();
      ResultSet rs=op1.query(str2);
      while(rs.next())
      {
       String str3="",str4="";
           
       str3=rs.getString("PassWord");
      // if(rs.getString("PassWord")==null);
   
      // System.out.print("aaaaa");       
       str4=ulogin.getText();
       if(str3.equals(str4))
       {
       System.out.println("ok");
       }
       else
       {
       System.out.println("pass word err");
       }
Error::java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]将
varchar 值 'ddd' 转换为数据类型为 int 的列时发生语法错误。

解决方案 »

  1.   

    String str2="SELECT PassWord FROM uuu WHERE ID='"+ulog.getText().trim()+"'"
      

  2.   

    应该是String str2="SELECT PassWord FROM uuu WHERE ID=‘"+ulog.getText().trim()+"'";
    你的sql有误
    ID是varchar吧,
      

  3.   

    String str2="SELECT PassWord FROM uuu WHERE ID=‘"+ulog.getText().trim()+"'";
    把ID属性改为varchar
      

  4.   

    我的id属性是varchar 没错 我id属性里 有123 ddd 如果以123登陆就没问题但是ddd就不行 谢谢大家
      

  5.   

      where id ='****'字符加''
      

  6.   

     如果只是验证用户名\密码是否正确我觉得这样挺好的.
    "SELECT count(*) FROM uuu WHERE ID= ? and pass = ? "再取返回的值,,如果值大于或者等于1的话,就... ... 
      

  7.   

    你表里面的ID类型改为varchar就OK了
      

  8.   

    表单ID类型改为varchar肯定就可以了