日期:2014-05-20  浏览次数:20793 次

jsp+mySql 中提取数据困扰我的难题!
程序源代码如下:
<%!
String DBDriver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/test?user=root&password=root";
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs =null;
%>
<%
String id = request.getParameter("id") ;
  String password = request.getParameter("password") ;
  这两个参数的值已经从前一页面传递过来。测试已通过
%>
<%
String sql = "SELECT name FROM person WHERE id=? and password=?" ;

try
{
Class.forName(DBDriver);
conn=DriverManager.getConnection(url);
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,id) ;
pstmt.setString(2,password) ;
rs = pstmt.executeQuery() ;
  System.out.println(rs.getString(1)); //(1)该处不知为什么取不出值,注意该处的值是数据库中确实存在的,可是控制台却什么也不显示,好像是空  
%>
(1)处若换为System.out.println(rs.getString(“test”));能够输出值:test
 (1) 处若换为System.out.println(rs.next());能够输出:false

------解决方案--------------------
(1)处换成

while (rs.next()){
 System.out.println(rs.getString(1)); 
}


试试,但是你下面说的打印rs.next()是false,是不是就没值啊
------解决方案--------------------
你现在的rs没引用,遍历一下才可以的,楼上的说的没错 rs.next()一下就行了