<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="java.util.List"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>提取数据</title>
</head>
<body>
<table><tr><th>数据库中的数据</th></tr>
<%
String username = "test";
String password = "test123";
Class.forName("com.sybase.jdbc2.jdbc.SybDriver");
// String driverClassName = "com.sybase.jdbc2.jdbc.SybDriver";
String url = "jdbc:sybase:Tds:192.168.0.71:5000/testoa?charset=cp936";
Connection connection = DriverManager.getConnection(url,username,password);
Statement statement = (Statement)connection.createStatement();//实例化一个sql语句
ResultSet rs = statement.executeQuery(" SELECT* FROM T_LOGIN");
List<String> lists = new ArrayList<String>();
while (rs.next()) {
lists.add(rs.next()); //这行报错。。。
}
rs.close();
statement.close();
connection.close();
for (String s : lists) {
%>
<tr><td><%=s%></td></tr>
<% }
%>
</table>
</body>
</html>
------解决思路----------------------
lists.add(rs.next()); //这行报错。。。
取数据错了,你看一下api rs.next()是做什么用的,看你的list是string泛型的,那就用rs.getString("这里可以是查询出来的列号或者是列名");比如你的查询语句是select name1,name2 from table,你想显示name2,就用rs.getString("name2")或者rs.getString(2)这样就行了,还是多看下API
------解决思路----------------------
while (rs.next()) {
lists.add(rs.getString(填写你想获取的属性是第几个【int类型】比如1、2、3、4等)); //这行报错。。。
}