Московский государственный университет имени М.В.Ломоносова
Опубликован: 20.12.2005 | Доступ: свободный | Студентов: 3142 / 371 | Оценка: 4.22 / 3.86 | Длительность: 12:03:00
ISBN: 978-5-9556-0068-0
Лекция 13:

Реализация доступа к базам данных в среде JBUILDER и среде JDEVELOPER

Параметризированные запросы

Параметризированный запрос позволяет добавить во фразу where условие, при изменении которого автоматически будет меняться и набор данных. Перед параметрами во фразе where указывается знак двоеточия.

Для создания параметризированных запросов используется компонент ParameterRow.

Двойным щелчком на компоненте ParameterRow в окне структуры следует открыть редактор столбцов и добавить по одному столбцу на каждый параметр. Значение свойства columnName будет использоваться во фразе where SQL-оператора.

Например: select * from tbl1 where ind1<= :column1 Таким образом, компонент ParameterRow связывается с набором данных.

Для связывания компонента с набором данных используется или вкладка Where диалога SQL Builder (предварительно указывается используемый компонент ParameterRow на вкладке Parameters диалога Query ), или вкладка SQL, на которой выполняется непосредственный ввод фразы WHERE SQL-оператора SELECT.

Компонент DATASTORE

Компонент DataStore представляет JDS-файл базы данных DataStore.

JBuilder предоставляет набор классов, поддерживающих работу с базой данных DataStore. Основные из них расположены на станице DataExpress палитры компонентов окна дизайнера.

Для того чтобы создать файл базы данных DataStore, надо выполнить следующие действия:

  1. Создать объект типа DataStore.
    DataStore my_store = new DataStore();
  2. Определить имя создаваемой базы данных:
    my_store.setFileName("BD_DSTORE.jds");
  3. Определить имя пользователя, имеющего доступ к создаваемой базе данных:
    my_store.setUserName("CreateTx");
  4. Назначить используемый менеджер транзакций:
    my_store.setTxManager(new TxManager());
  5. Cоздать файл базы данных:
    store.create();

Для открытия и закрытия базы данных используются методы open и close объекта типа DataStore. Следующий пример иллюстрирует открытие базы данных типа DataStore.

import com.borland.datastore.*;
public class CreateNew_DataStore
{
  public static void main(String[] args)
  {    DataStore ds1 = new DataStore();
    try   
  { ds1.setFileName("DS1.jds");  // Определяем имя БД
     java.io.File f = new   java.io.File(ds1.getFileName());
                  ds1.setUserName("CreateTx");
                  ds1.setTxManager(new TxManager());
 if(!f.exists()) ds1.create();  // Создание БД
 else              ds1.open();      
                    ds1.close();    }
    catch(Exception ex)    {      System.out.println(ex);    }
  }
}

Открыть базу данных DataStore можно несколькими способами:

  • выполнить метод open класса DataStore ;
  • использовать класс DataStoreConnection ;
  • выполнить метод getConnection класса DriverManager.

Механизм доступа к базе данных DataStore через JDBC-драйверы не отличается от механизма доступа к любой другой базе данных. В качестве загружаемого драйвера можно использовать com.borland.datastore.jdbc.DataStoreDriver.

Например: Class.forName("com.borland.datastore.jdbc.DataStoreDriver");

Если для открытия соединения используется статический метод getConnection, то в качестве первого параметра ему следует передать URL-адрес расположения файла базы данных, который формируется из двух частей: адреса ПК и полного имени файла.

Адрес ПК указывается следующим образом:

  • для локального компьютера - "jdbc:borland:dslocal:";
  • для удаленного компьютера - "jdbc:borland:dsremote://localhost/"

Например:

Connection con = DriverManager.getConnection(URL + FILE, "user", "")