Интернет магазин китайских планшетных компьютеров



Компьютеры - SQLJ - Взаимодействие с JDBC

05 июня 2011


Оглавление:
1. SQLJ
2. Пример кода
3. SQLJ и JDBC
4. Синтаксис
5. Взаимодействие с JDBC
6. Особенности SQLJ
7. Недостатки SQLJ



Так как SQLJ-директивы при своём использовании используют JDBC-вызовы, то представляет интерес возможность использовать эти технологии совместно. Достаточно легко преобразовывать итераторы в объекты ResultSet и наоборот.

Преобразование объекта ResultSet осуществляется очень просто. Для этого сначала нужно определить итератор с именованием столбцов (в нашем примере он будет обозначаться Employees, а затем выполнить операцию CAST:

#sql iterator Employees ;
 
PreparedStatement stmt = conn.prepareStatement;
String query = "SELECT ename, sal FROM emp WHERE ";
query += whereClause;
ResultSet rs = stmt.executeQuery;
Employees emps;
#sql emps = {CAST :rs};
while ) {
      System.out.println + " earns " + emps.sal);
}
emps.close;
stmt.close;

Отдельно стоит обратить внимание, что после привязки результата запроса к итератору отдельно закрывать результат запроса нет надобности — это за программиста сделает сам препроцессор.

Обратный процесс — преобразование итератора в объект ResultSet производится с помощью итераторов особого типа, так называемых слабо типизированных итераторов.

sqlj.runtime.ResultSetIterator iter;
#sql iter = {SELECT ename FROM emp};
 
ResultSet rs = iter.getResultSet;
while ) {
      System.out.println);
}
iter.close;

В этом случае связь между итератором и результатом запроса также сохраняется и закрывать следует именно итератор.



Просмотров: 5570


<<< Swing