Доступные версии документации

java.sql.ResultSet

Интерфейс java.sql.ResultSet предоставляет доступ к набору строк (выборке данных), полученному в результате выполнения поискового SQL-запроса.

Пример

import java.sql.*;
import com.relx.jdbc.LinterDriver;

public class ResultSetDemo
{
  public static void main (String[] args)
  {
    try
    {
      Driver d = (Driver)Class.forName("com.relx.jdbc.LinterDriver").newInstance();

  String address = "jdbc:linter:linapid:localhost:1070:DEMO";
  String user    = "SYSTEM";
  String password= "MANAGER";

      Connection con =
                    DriverManager.getConnection(address,user,password);
      Statement stmt = con.createStatement();

      ResultSet results;

      stmt.executeUpdate("create table test1 (a int, b char(20));");

  //INSERT
  stmt.executeUpdate("insert into test1 values(1, 'First string');");
  stmt.executeUpdate("insert into test1 values(2,
                                                    'Another string');");
  stmt.executeUpdate("insert into test1 values(3,'Third string');");

  results = stmt.executeQuery("select * from test1;");

  while (results.next())
  {
         // Loop through each column, getting the column
         // data and displaying
         System.out.print("| "+results.getInt(1));
         System.out.println("| "+results.getString(2)+" |");
  }

  System.out.println();
  System.out.println("To previous...");
  if(results.previous())
  {
         System.out.print("| " + results.getInt(1));
         System.out.println("| " + results.getString(2)+" |");
  }
  System.out.println("To (current+1)...");
  if(results.relative(1))
  {
    System.out.print("| " + results.getInt(1));
    System.out.println("| " + results.getString(2)+" |");
  }

  System.out.println("To first...");
  if(results.absolute(1))
  {
         System.out.print("| " + results.getInt(1));
         System.out.println("| " + results.getString(2)+" |");
  }

  results.close();

  try
  {
    stmt.executeUpdate("drop table test1;");
  }
  catch(SQLException e)
  {
    System.out.println("Error deleting table:"+e.getMessage());
  }

  con.close();
    }
    catch (Exception e)
    {
      System.out.println("Catched :" + e + " mess= " + e.getMessage() );
      e.printStackTrace();
    }
  }
}

В реализацию интерфейса ResultSet для JDBC-драйвера 1.2 СУБД ЛИНТЕР добавлены методы, облегчающие работу с курсорами, не входящие в спецификацию JDBC 1.2:

  • boolean first() – установить курсор на первую запись выборки данных;

  • boolean previous() – установить курсор на предыдущую запись выборки данных (относительно текущего положения курсора);

  • boolean absolute(int position) – установить курсор на указанную запись выборки данных;

  • boolean relative(int shift) – установить курсор на указанную относительно текущего положения курсора запись выборки данных;

  • boolean last() – установить курсор на последнюю запись выборки данных.

Для того чтобы иметь возможность использовать их, необходимо работать через интерфейс ResultSetEx.

Пример

import java.sql.*;
import jdbc.LinJdbc.*;

public class ResultSetExDemo
{
  public static void main (String[] args)
  {
    try
    {
      Driver d = (Driver)Class.forName("jdbc.LinJdbc.LinterDriver").newInstance();

      String address = "jdbc:Linter:196.08.69.49:1070:local";
      String user    = "SYSTEM";
      String password= "MANAGER";

      Connection con = DriverManager.getConnection(address,user,password);
      Statement stmt = con.createStatement();

      ResultSetEx results;

      stmt.executeUpdate("create table test1 (a int, b char(20));");

      //INSERT
      stmt.executeUpdate("insert into test1 values(1,'First string');");
      stmt.executeUpdate("insert into test1 values(2,'Another string');");
      stmt.executeUpdate("insert into test1 values(3,'Third string');");

      results = (ResultSetEx)stmt.executeQuery("select * from test1;");

      System.out.println("ResultSet contains "+results.getRowCount()+" rows");

      while ( results.next() )
      {
        // Loop through each column, getting the column
        // data and displaying
        System.out.print("| "+results.getInt(1));
        System.out.println("| "+results.getString(2)+" |");
      }

      System.out.println();
      System.out.println("To previous...");
      if(results.previous())
      {
        System.out.print("| "+results.getInt(1));
        System.out.println("| "+results.getString(2)+" |");
      }
      System.out.println("To (current+1)...");
      if(results.relative(1))
      {
        System.out.print("| "+results.getInt(1));
        System.out.println("| "+results.getString(2)+" |");
      }

      System.out.println("To first...");
      if(results.absolute(1))
      {
        System.out.print("| "+results.getInt(1));
        System.out.println("| "+results.getString(2)+" |");
      }

      results.close();

      try{
        stmt.executeUpdate("drop table test1;");
      }catch(SQLException e){
        System.out.println("Error deleting table:"+e.getMessage());
      }

      con.close();
    } catch (Exception e)
    {
      System.out.println("Catched :"+e+" mess= "+e.getMessage() );
      e.printStackTrace();
    return;
    }
  }
}
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter