|
Программирование >> Создание клиентов mysql
Изменение данных 389 Удаление инструкции, stmt.close(); Закрытие соединения, с.close О; catch (SQLException е) { е.printStackTrace (); Если число столбцов в таблице результатов запроса неизвестно, необходимо создать объект класса MetaData. В этот класс входят методы, позволяющие определять количество столбцов, их имена, размерности и т.д. Изменение данных Запросы на вставку или обновление даннгх не возвращают наборы записей. Используйте мето pdate (), который возвращает число записей, участвовавших в запросе. Если ни одна запись не была изменена, возвращается нуль. Программа, показанная в листинге 17.3, создает таблицу и добавляет в нее записи. Далее происходит удаление части записей, обновление записей и, наконец, удаление всей таблицы. Обратите внимание на способ вставки записей. Класс Prepared-Statement позволяет описать запрос с параметрами, которые будут подставляться драйвером. В других СУБД поддерживаются предварительно скомпилированные запросы, которые анализируются один раз, а потом многократно выполняются. В MySQL вместо этого применяются запросы с параметрами. В подготовленном запросе метасимвол обозначает параметр, подставляемый драйвером перед выполнением запроса. Есть группа методов семейства setXO, позволяющих присваивать значения параметрам по номерам. Первый параметр имеет номер 1. Благодаря этому нет необходимости использовать различные управляющие символы, защищаемые одинарными кавычками. Если вызвать мeтoдsetObject (), то перед отправкой запроса серверу драйвер сохранит на диске образ объекта. import j ava. sql. *; public class CoreUpdate public static void main(String[] Args) { Connection c; Загрузка драйвера. Class.forName( org.gjt.mm.mysql.Driver ).newlnstance(); catch (Exception e) { e.printStackTrace(); Подключение к базе данных. с = DriverManager.getConnection( jdbc:mysql: 192.168.123.194/test?user=leon ); / / Создание инструкции. Statement stmt = с.createStatement(); ResultSet rs; int rowsAffected; Создание таблицы, stmt.executeUpdate( CREATE TABLE testapi ( + ID INT (11) NOT NULL AUTO INCREMENT, + Name VARCHAR (64) , + PRIMARY KEY (ID) ) ) ; Подготовка шаблона инструкции INSERT. String querylnsert = new String( INSERT INTO testapi (Name) VALUES (?) ); PreparedStatement ps = c.prepareStatement(querylnsert); / / В1полнение инструкций INSERT. String [] names = ( Leon , Vicky , Carl , Ricky , Nicki , Jeff , Bob , Tina , Joey }; for (int 1=0; i < names. length; { ps.setString(1, names [i]) ; rowsAffected = ps.executeUpdate(); System.out.println(rowsAffected + row inserted. ); Удаление записей. rowsAffected = stmt executeUpdate( DELETE FROM testapi WHERE ID < 4 ); System.out.println(rowsAffected + rows deleted. ); Обновление записей. rowsAffected = stmt.executeUpdate( UPDATE testapi SET Name = None ); System.out.println(rowsAffected + rows updated. ); Удаление таблицы. Stmt.executGUpdate( DROP TABLE testapi ); Удаление stmt, close () ; Изменение данных 391 Закрытие соединения, с.close О; catch (SQLException е) { e.printStackTrace();
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |