Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:

Цикл в Oracle

В этом примере следует обратить внимание на два момента:

Для специфицирования оператора SQL используется метод prepareStatement().

Для указания позиций, куда впоследствии при реальном выполнении оператора SQL будут подставлены значения переменных, используется вопросительный знак (?).

Положение вопросительных знаков является важным: к ним обращаются в соответствии с их положением — к первому вопросительному знаку обращаются, используя число 1, ко второму — 2 и т. д.

Процесс предоставления переменных Java в подготовленные операторы известен как привязка переменных к оператору, а предоставляемые Переменные — как переменные связи. Для реальной передачи переменных в оператор следует применять методы установки (set). Эти методы похожи на методы получения (get) (мешки для мусора), но они используются для снабжения переменных значениями, а не для считывания этих значений.

Например, для привязки переменной типа int Java с именем intVar к столбцу product_id в ранее созданном объекте PreparedStatement используется setlnt(1, intVar). Первый параметр означает положение в строке обрабатываемого вопросительного знака, специфицированной ранее в вызове метода PrepareStatementO. Так, значение 1 соответствует первому вопросительному знаку, снабжающему значением столбец product__id в операторе INSERT. Для привязки переменной Java типа String с именем St ringVar к столбцу name используется вызов setString(3, stringVar), так как третий вопросительный знак соответствует столбцу name. К числу других методов, которые можно вызывать в объекте PreparedStatement, относятся setFloat() и setOouble() для установки чисел с плавающей точкой одиночной и двойной точности.

В следующем примере показан цикл, демонстрирующий применение методов установки для связывания атрибутов объектов Product в productArray с объектом PreparedStatement. Для фактического выполнения оператора SQL используется метод execute():

? for (int counter = 0; counter < productArray.length; counter ++) {
myPrepStatement.setInt(1, productArraytcounter].productId); myPrepStatement.setlnt(2, productArray[counter].productTypeld); _ myPrepStatement.setString(3, productArraytcounter].name); myPrepStatement.setString(4, productArray[counter].description); myPrepStatement.setDouble(5, productArray[counter].price); myPrepStatement.execute(); } // end of for loop

После завершения этого оператора таблица products будет содержать пять новых строк.

Для установки столбца базы данных в NULL с помощью объекта PreparedStatement можно использовать метод setNulK). Следующий оператор устанавливает в NULL столбец description:

? myPrepStatement.setNull(4, java.sql.Types.VARCHAR);



Google