JDBC返回空结果集

时间:2013-12-04 12:28:57

标签: sql jdbc resultset

虽然查询应返回整个表,但ResultSet为空。这是我的代码

try{
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    con = DriverManager.getConnection("jdbc:sqlserver://localhost","somonjon","sa");
    con.setCatalog("ChatDBS");
    Statement stmt = null;
    String SQL = "SELECT * FROM Login_chat";
    stmt = con.createStatement();
    try{
    System.out.println("trying execute query");
    rs = stmt.executeQuery(SQL);
}
catch(SQLException ex){
    ex.printStackTrace();
}

这是错误消息: 尝试执行查询 com.microsoft.sqlserver.jdbc.SQLServerException:结果集没有当前行。

P.S。 Okey家伙我不确定它是否重要,但这些代码是jButton1ActionPerformed事件。

3 个答案:

答案 0 :(得分:0)

AFAIK,除非你在结果集上做一些操作,比如rs.next();否则你不会想要得到这个异常。

关于问题,可能有两种情况

  1. 您没有指向正确的数据库(目录)
  2. 您尚未在数据库中提交交易。

答案 1 :(得分:0)

你必须循环通过rs。

String column1;
int column2;
while (rs.next()) {
  column1 = rs.getString("nameColumn1");
  column2 = rs.getInt("nameColumn2");
}

答案 2 :(得分:0)

好的,在

String SQL = "SELECT * FROM Login_chat";

您必须添加“;”。

String SQL = "SELECT * FROM Login_chat;";

试试吧!