русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Обращение к базе данных с использованием технологии ADO


Дата добавления: 2013-12-23; просмотров: 1855; Нарушение авторских прав


Пример 18.2. Выполнение динамического SQL-запроса к учебной базе данных из Java-программы.

Создание оператора: класс PreparedStatement

В случае использования этого объекта программа подготавливает SQL-оператор при помощи метода prepareStatement (String sql) объекта Connection: берется SQL-строка и передается СУБД. Строка проходит через стадии синтаксического анализа, оптимизации и генерирования плана выполнения, но не выполняет оператор SQL. Ссылка на план выполнения возвращается JDBC, который сохраняет ее в объекте PreparedStatement.

Одно из важных свойств метода prepareStatement - возможность обработки входных параметров. Они помечаются в операторе SQL символом "?" на месте фактического значения. В программе Java проводится соответствие между параметрами и методами setXXXX() - setInt, setFloat, setString и т.д., в соответствии с типами входныхпараметров. Все методы setXXXX() принимают в качестве параметров значение параметра и указатель parameterIndex, который равен 1 для первого "?", 2 - для второго и т.д. Выполнение sql-оператора обеспечивается методами объекта PreparedStatement:

  • executeQuery() - для выполнения запроса выборки SELECT ;
  • execute() - для выполнения запроса, возвращающего множественные наборы данных ;
  • executeUpdate() - для выполнения запроса модификации данных INSERT, UPDATE или DELETE.

Объект PreparedStatement обеспечивает более быстрое выполнение оператора SQL и является примером реализации динамического SQL.

Class.forName(

"com.ms.jdbc.odbc.JdbcOdbcDriver");

Connection myCon=DriverManager.getConnection

("jdbc:odbc:mystud","user1","123");

PreparedStatement mySt=myCon.prepareStatement

("INSERT товар(название, тип, цена)

VALUES(?,?,?)");

mySt.setString(1, "Трюфели");



mySt.setString(2, "Конфеты");

mySt.setInt(3,156);

int res=mySt.executeUpdate();

Технология Active Data Objects (ADO) - это программное расширение технологии активных серверных страниц ASP, реализованное в Web-сервере Internet Information Server (IIS) компании Microsoft с целью организации подключений к базам данных. В технологии ADO поддерживаются следующие основные функции:

  • независимо создаваемые объекты;
  • поддержка хранимых процедур с входными, выходными и возвращаемыми параметрами ;
  • курсоры различных типов (включая возможность поддержки разных специальных курсоров конечных пользователей);
  • пакетное обновление;
  • поддержка ограничений для числа возвращаемых строк или других параметров запроса;
  • поддержка нескольких наборов данных, возвращаемых хранимыми процедурами или пакетными операторами.

Основными преимуществами технологии ADO является простота использования, высокая скорость, небольшие потребности в оперативной памяти и незначительные затраты дисковой памяти.

Объектная модель ADO определяет набор ( коллекцию ) программируемых объектов, которые могут применяться с Visual Basic, Visual C++, VBScript. Объектная модель ADOразработана для выполнения большинства особенностей интерфейса OLE DB.

Если при помощи интерфейса ODBC операционная система осуществляет, как правило, доступ к реляционным БД, использующим структурированный язык запросов SQL, то интерфейс OLE DB (Object Linking and Embedding for DataBases) является более универсальной технологией для доступа к любым источникам данных.

В интерфейс OLE DB включен механизм провайдеров, под которыми понимаются поставщики данных, находящиеся в надстройке над физическим форматом данных. Их называют сервис-провайдерами, они помогают объединять в однотипную совокупность объекты, связанные с разнообразными источниками данных.

Интерфейс OLE DB может использовать для доступа к источникам данных интерфейс ODBC. В этом случае применяется провайдер OLE DB для доступа к ODBC-данным. Таким образом, интерфейс OLE DB не заменяет интерфейс ODBC, а позволяет организовать доступ к источникам данных через различные интерфейсы, и в том числе через ODBC.

ADO содержит семь объектов, которые инкапсулируют в себе большинство операций с базой данных - Connection ( соединение ), Command ( команда ), Parameter ( параметр), Recordset ( набор данных ), Field (поле), Property (свойство) и Error (ошибка), - а также четыре набора объектов ( коллекции ) - Fields (поля), Properties (свойства),Parameters ( параметры ) и Errors (ошибки).

Объект Connection устанавливает коммуникационную связь между приложением и источником данных, позволяет выполнять команды. Класс Connection включает следующие методы:

  • Open ( Close ) - установление (закрытие) физического соединения с источником данных;
  • Execute - выполнение команды для этого соединения ;
  • BeginTrans, CommitTrans, RollbackTrans - управление транзакциями для текущего подключения, включая вложенные транзакции, если источник данных поддерживает работу с ними.

Объект Command. Команда, направляемая в базу данных, как правило, представляет собой SQL-команду или вызов некоторой хранимой процедуры. Объект Command может настраиваться с помощью параметров, задаваемых посредством создания коллекции объектов класса Parameter. Класс Command включает следующие методы:

  • Execute - выполнение команды для данного соединения ;
  • CreateParameter - создание нового объекта класса Parameter.

Коллекция Parameters. Содержит любые параметры, которые используются вместе с данным объектом Command. Класс Parameters содержит следующие методы:

  • Append ( Delete ) - добавление (удаление) параметра для указанной коллекции ;
  • Item - извлечение определенного объекта Parameter.

На некоторый объект Parameter в коллекции Parameters можно ссылаться, используя его порядковый номер или значение, присвоенное свойству Name этого объекта.

Объект Recordset представляет набор записей, полученный в результате выполнения запроса в базе данных. При создании объекта Recordset указатель текущей записи устанавливается на его первую запись (если таковая имеется), а свойствам BOF и EOF присваивается значение FALSE. Если никаких записей нет, то свойству Recordcountприсваивается значение 0, а свойствам BOF и EOF - значение TRUE. Класс Recordset включает следующие методы:

  • MoveFirst, MoveLast, MoveNext, MovePrevious и Move - производят перемещение указателя текущей записи в предположении, что провайдер поддерживает выполнение соответствующей функции. В однонаправленных объектах Recordset поддерживается только метод MoveNext. При использовании указанных методов для перемещения по записям результирующего набора для обнаружения его начала и конца могут применяться свойства BOF и EOF объекта Recordset ;
  • AddNew, Update, Delete - осуществляют добавление новых записей, обновление и удаление имеющихся записей, связанных с открытым объектом;
  • Open ( Close ) - выполняют открытие (закрытие) курсора, представляющего результаты выполнения команды.

Коллекция Fields. Объект Recordset содержит коллекцию Fields, состоящую из объектов класса Field, каждый из которых соответствует столбцу данных объектаRecordset. Как и при работе с объектами Parameter, на отдельный объект Field в коллекции Fields можно ссылаться, используя его порядковый номер или имя.



<== предыдущая лекция | следующая лекция ==>
Пример 18.1. Выполнение статического SQL-запроса к учебной базе данных из Java-программы. | Объект Connection


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.