Основы проектирования приложений баз данных


         

Далее для извлечения данных из


Этот экземпляр класса и возвращает менеджер драйверов в результате вызова метода getConnection.

Далее для извлечения данных из результирующего набора в переменные языка Java выполняются:

  1. Создание результирующего набора при выполнении SQL-оператора SELECT: Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT F1,F2,F3 FROM Table1");
  2. Выборка данных из результирующего набора: while (rs.next()) { int x = rs.getInt("F1"); // Имя поля F1 String s = rs.getString("F2"); float f = rs.getFloat("F3"); }


Метод executeQuery используется для создания результирующего набора, а для выполнения SQL-оператора, изменяющего информацию в базе данных, вызывается метод executeUpdate.

После завершения работы с данными необходимо последовательно освободить результирующий набор, оператор и соединение.

Например:

rs.close(); stmt.close(); con.close();

Возвращать результирующий набор может не только выполнение оператора SELECT, но и выполнение хранимой процедуры. Вызов хранимых процедур определяется интерфейсом java.sql.CallableStatement.

Например:

import oracle.jdbc.driver.*; // Для работы с JDBC-драйвером Oracle import java.sql.*; : CallableStatement cstmt; // Вызываемый операторный объект cstmt= con.prepareCall("{packeg1.metod1(?)}") // Оператор вызова // хранимой процедуры packeg1.metod1 cstmt.registerOutParameter(1,OracleTypes.CURSOR); // Регистрация // выходного параметра cstmt.execute(); // Выполнение операторного объекта OracleResultSet ors= (OracleResultSet) ((OracleCallableStatement) cstmt).getCursor(1); // Получение // результирующего набора для БД Oracle // из выходного параметра хранимой процедуры

По умолчанию при подключении через JDBC установлен режим автокоммита. Для применения транзакций этот режим следует отключить, а фиксацию изменений указывать явным вызовом метода Commit.

Например:

Connection con = DriverManager.getConnection ("jdbc:oracle:oci:@datai_com", "scott", "tiger"); con.setAutoCommit(false); : con.commit(); // Фиксация транзакции : con.rollback(); // Откат транзакции


Содержание  Назад  Вперед