日期:2014-05-17  浏览次数:20727 次

问个JDBC问题 请高手指教
早上的问题解决了
现在
Class.forName(DRIVER) ;
  Connection conn= DriverManager.getConnection(Url,User,Pw); 
  String sql = "SELECT name FROM user1 WHERE userid=? AND password=?" ;
  pstmt = conn.prepareStatement(sql) ;
  pstmt.setString(1,request.getParameter("id")) ;
  pstmt.setString(2,request.getParameter("password")) ;
  rs = pstmt.executeQuery() ; // 查询
  if(rs.next())
  { // 如果有数据,则可以执行
  flag = true ; // 表示登陆成功
  name = rs.getString(1) ;
}


我测过数据库连的上
request.getParameter("id") request.getParameter("password")这2个值取的到 而且在数据库里面也有对应的数据
但取不到 name值 不知道哪出问题了

------解决方案--------------------
把SQL语句放在数据库能查询出来么?多检查检查单词什么的.
------解决方案--------------------
userid 是int存储的么?
------解决方案--------------------
name = rs.getString("name");
试试
根据列名获取数据。

如果不行,同楼上,也可以在获得rs之后,System.out.println(rs.next());看看有没有获得数据,获得不了,就把sql在数据库里面查查吧