请大虾帮我看看我的JAVA程序出什么错了

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:21:45
代码如下:

import java.sql.*;
public class textODBC{

/**
* @param args
* @throws ClassNotFoundException
*/
public static void main(String[] args)
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e)
{
e.printStackTrace();
}
try{
String url="jdbc:odbc:text";
String uid="sa";
String pwd="";
Connection conn=DriverManager.getConnection(url,uid,pwd);
Statement stmt=conn.createStatement();
ResultSet rs=(ResultSet) stmt.executeQuery("select * from employees");
while(rs.next());
{
System.out.println(rs.getString("lastName")+""+rs.getString("FirstName"));
}

}
catch(SQLException e)
{
e.printStackTr

原因就在于
你在while(rs.next()); 后面多有一个分号
导致,你的游标把所有的数据都遍历完以后,才执行下面这句
{
System.out.println(rs.getString("lastName")+""+rs.getString("FirstName"));
}
这时候游标已经遍历完了,游标已经无效,再去读取结果的时候,就会出
游标无效的错误。

while(rs.next());
多加了个;把while的最后分号去掉.

貌似数据库有问题。

while(rs.next()){
System.out.println(rs.getString("lastName")+""+rs.getString("FirstName"));
}

while(rs.next());-->while(rs.next())