oracle.sql.*. Класс OracleResultSet определяет ряд методов get, которые
используются для чтения значений объектов oracle.sql.
В следующих разделах описаны детали использования в Java-програм-
мах некоторых классов oracle.sql, показанных в таблице 15.6.
Класс o rac le.sq l.N UM B ER
Класс oracle. sq l. NUMBER совместим с типами базы данных INTEGER и NUMBER
и может быть использован для представления чисел с точностью до 38 разрядов.
В следующем примере создается объект типа oracle.sql. NUMBER по
имени customerld, который при помощи конструктора устанавливается на
значение 6:
□ oracle.sql.NUMBER customerld = new oracle.sql.NUMBER(6);
Значение, хранящееся в customerld, можно прочесть с помощью метода
intValue(), который возвращает значение как тип Java int:
□ int customerldlnt = cistomerld.intValue();
Можно установить объект oracle. s q l. NUMBER на значение числа с плавающей
точкой. В следующем примере значение 19.95 передается в конструктор
объекта oracle, sql. NUMBER с именем price:
□ oracle.sql.NUMBER price = new oracle.sql.NUMBER(19.95);
Можно читать хранящиеся в price числа с плавающей точкой, используя
методы floatValueO, doubleValueO и bigDecimalValue(), которые возвращают
Java float, double или BigDecimal соответственно. Кроме того,
можно получить усеченное до целого числа (int) значение price, если используется
intValue(), так что значение 19.95 будет возвращено как 19. Следующие
примеры иллюстрируют применение этих методов:
П flo at priceFloat = price.floatValue();
double priceDouble = price.doubleValue();
java.math.BigDecimal priceBigDec = price.bigDecimalValue();
int pricelnt = price.intValue();
Метод stringValueO возвращает значение в виде String Java:
String priceString = price.stringValue();
Класс oracle.sql.CHAR
Класс oracle. sq l. CHAR совместим с типами базы данных CHAR, VARCHAR2, NCHAR
и NVARCHAR2. Как база данных Oracle, так и класс oracle, sql.CHAR содержат
Выполнение SQL с использованием Java 589
поддержку глобализации для множества различных языков. Полный перечень
языков, поддерживаемых Oracle, можно найти в публикации корпорации
Oracle Database Globalization Support Guide ( “Руководство по поддержке
глобализации”).
При выборе символьных данных из базы данных в объект oracle.sql.
CHAR драйвер JDBC Oracle конструирует и возвращает этот объект, используя
либо набор символов базы данных (по умолчанию), либо набор
символов WE8IS08859P1 (стандарт ISO 8859-1 для Западной Европы), либо
набор символов UTF8 (Unicode 3.0 UTF-8 Универсальный).
Если вы создаете для хранения в базе данных собственный объект
oracle.sql.CHAR, имеются ограничения относительно используемого набора
символов, которые зависят от типа столбца базы данных, где будет
храниться этот объект. Если вы собираетесь хранить объект oracle.sql.
CHAR в столбце типа CHAR или VARCHAR2, вы должны использовать US7ASCII
(7-битный американский код ASCII), WE8IS08859P1 (стандарт ISO 8859-1
для Западной Европы) или IEA8 (Unicode 3.0 UTF-8 Универсальный). Если
вы собираетесь хранить объект oracle, sql. CHAR в столбце типа NCHAR или
NVARCHAR, вы должны применять набор символов, используемый базой данных.
. -
При создании собственного объекта oracle.sql.CHAR необходимо выполнить
два следующих шага.
1. Создание объекта oracle.sql.CharacterSet, содержащего набор символов,
который вы хотите использовать.
2. Создание объекта oracle.sql.CHAR, используя для указания набора символов
объект oracle.sql.CharacterSet.
В следующих разделах описаны эти шаги.
Шаг 1: Создание объекта oracle.sql.CharacterSet. Следующий пример создает
объект oracle.sql.CharacterSet с именем myCharSet:
□ oracle.sql.CharacterSet myCharSet =
CharacterSet.make(CharacterSet.US7ASCII_CHARSET);
Метод make() принимает параметр типа int, специфицирующий набор
символов, который вы будете использовать. В нашем случае константа
US7ASCII_CHARSET (определенная в классе oracle.sql.CharacterSet) используется
с целью указать, что будет использоваться набор символов US7ASCII.
Среди других значений можно назвать UTF8_CHARSET (для UTF8) и DEFAULT,
CHARSET (для набора символов, используемого базой данных).
Шаг 2: создайте объект oracle.sql.CHAR. Следующий пример создает
объект oracle.sql.CHAR по имени firstName, используя объект myCharSet,
созданный на предыдущем шаге:
□ oracle.sql.CHAR firstName = new oracle.sql.CHAR(«Jason», myCharSet);
Объект firstName заполняется строкой Jason. Вы можете прочесть значение,
хранящееся в firstName, используя метод stringValue(), который возвращает
значение в виде строки Java (String). Например:
□ String firstNameString = firstName.stringValue();
590 Глава 15
System.out.println(“ firstNameString = “ + firstNameString);
В этом случае на экран будет выведено firstNameString = Jason.
В следующем примере создается другой объект oracle.sql.CHAR по имени
lastName:
□ oracle.sql.CHAR.lastName = new oracle.sql.CHAR(«Price», myCharSet);
Можно вывести значение из объекта oracle.sql.CHAR непосредственно,