无标题文档


<% //获取提交的用户名和密码
String name=request.getParameter("name");
String pword=request.getParameter("pword"); 
if(name==null)
name="";
try{
byte b[]=name.getBytes("ISO-8859-1");
name=new String(b);
}catch(Exception e2){}
if(pword==null)
pword="";
try{
byte b[]=pword.getBytes("ISO-8859-1");
pword=new String(b);
}catch(Exception e3){}
Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){out.print("class not found!");}
try{
con=DriverManager.getConnection("jdbc:odbc:ssodb","sa","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT id,password FROM ssologin WHERE username="+"'"+name+"'");
if(rs.next()==false)
out.print("用户名输入错误!");
else {String s=rs.getString("password");
  out.println(s);
  out.println(pword);//这里的输出显示两个字符串明明是一样的
if(s.compareTo(pword)==0)
out.print("登录成功!");
else out.print("密码错误!");//可是比较之后总是显示密码错误
}
}catch(SQLException e1){out.println("SQLException");}
%>



解决方案1:

String pword=request.getParameter("pword").trim(); 
String s=rs.getString("password").trim();

解决方案2:

两个字符串一样的话这个程序应该没什么问题呀,
要不你试试这样写,s.trim().compareTo(pword)==0
或用:lhbf(牧野)所说的,这样写:s.equals(pword)

解决方案3:

if(s.equals(pword))
  out.print("登录成功!");

解决方案4:

字符串比较是用equals而非等号。


以上介绍了“ Resultset的getString操作获得的字符串的比较问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2373186.html

上一篇JSP中用JDBC Driver连接SQL Server 2000的问题 下一篇那里有这种东东啊?

相关图片

相关文章