Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_7.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
222.72 Кб
Скачать

7.4 Создание простого приложения с базой данных

Показаны два варианта доступа к данным.

Доступ к данным средствами BDE. Расположить на форме три компонента: DataSource (источник данных ) – вкладка Data Access, Query (запрос) или Table – вкладка BDE , DBGid (сетка отображения данных) – вкладка Data Controls. Компоненты DataSourcе и Query (Table) являются невизуальными компонентами. Можно также поместить компонент DBNavigator для перемещения по записям набора данных.

Компонент DataSource

Свойство значение

DataSet Query1 или Table1

Компонент Query

Свойство значение

DataBaseName - имя базы

SQL текст запроса

Компонент Table

Свойство значение

TableName - имя таблицы

Доступ к данным организуется средствами ADO. Поместить на форму компонент ADO Connection со страницы ADО. Щелкнуть в свойстве Connection String компонента ADO Connection. В появившемся окне нажать на кнопку Build. В окне Свойства связи с данными на вкладке Поставщик данных выбирается SQL Native Client. На вкладке Подключение в пункте 2 Для входа в сервер выбрать Учетные сведения Windows NT. В пункте 3 выбрать свою базу.Щелкаем на кнопку «Далее»

Чтобы представить набор данных в табличном виде, необходимо расположить на форме три компонента: DataSource (источник данных ) – вкладка Data Access, DBGid (сетка отображения данных) – вкладка Data Controls. Поместить компонент DBNavigator для перемещения по записям набора данных. Навигатор позволяет редактировать данные и пересылать их в базу данных.

7.5 Основные свойства и методы компонента Table

В таблице 1 перечислены важнейшие свойства компонента Таblе, а в таблице 2 — методы. Эти свойства и методы специфичны для Таblе;

Таблица 1 - Свойства Тable

Свойство

Описание

DatabaseName

Имя, путь к б.д.

TableName

Имя таблицы базы данных

Active

Активизирует таблицу

DataSource

Обеспечивает связь м/у таблицей данных с визуальными компонентами

RecordCount

Количество строк в таблице

Filtered

Разрешает, запрещает фильтрацию

Bof

Содержит true, если курсор находится на первой записи

Eof

Содержит true, если курсор на последней записи

Таблица 2 - Методы Таblе

Метод

Описание

Append

Добавляет пустую запись в конец набора данных.

Table1->Append();

Close

Закрывает набор данных

Table1->Close();

FieldByName

Обеспечивает доступ к полю по его имени

Table1->FieldByName("FIO")->AsString= LabeledEdit1->Text;

Open

Открывает таблицу

Table1->Open();

7.6 Основные свойства и методы компонента Query1

Таблица 3 - Свойства

Свойства

Описание

Active (true,false)

Определяет, открыта или закрыта БД.

DatabaseName

Имя БД.

DataSourse

Указывает компонент DataSourse относящейся к главной таблице, из которой берется значение ключа.

RecordCount

Количество строк в запросе

SQL

Свойство компонента, содержит запрос SQL.

Таблица 4 - Основные методы

Open()

Открыть таблицу.

Cancel()

Отменяет результаты редактирования

Close()

Закрывает набор данных.

FieldByName()

Находит поле по его имени.

First()

Перемещает курсор к первой записи.

GetFieldNames()

Выдает список имен всех полей таблицы.

К основным методам Query можно отнести методы открытия и закрытия соединения с базой данных.

Метод Close закрывает соединение с базой данных, переводя свойство Active в false. Этот метод надо выполнять перед изменением каких-то свойств, влияющих на выполнение запроса или на отображение данных. Например, при изменении па­раметров запроса в свойстве SQL надо сначала методом Close закрыть соединение, связанное с прежним запросом, а потом уже выполнять новый запрос.

Метод Open открывает соединение с базой данных и выполняет запрос, содер­жащийся в свойстве SQL. Но этот метод применим только в том случае, если за­прос сводится к оператору Select.

Для осуществления любого другого запроса, кроме Select, используется метод ExecSQL.

Все указанными свойствами и методами обладают компоненты ADOTable и ADOQuery.

Имеется база данных, состоящая из трех таблиц: tovar, custom, orders.

В примере организован доступ средствами ADO.

Настройка свойств компонентов на этапе проектирования – устанавливаются свойства в Инспекторе объектов.

Компонент DataSource1

Свойство значение

Свойство значение

DataSet ADOQuery1 или ADOTable1

Компонент ADOQuery1

Свойство значение

Connection ADOConnection1

SQL select * from Tovar ( на этапе проектирования )

При использовании компонента ADOTable1:

Свойство значение

TableName Tovar.db

Этот запрос на выборку всех полей таблицы Tovar

Компонентs DBGrid1, DBNavigator1

Свойство значение

DataSource DataSource1

ShowHint True для навигатора

Если текст запроса занесен в свойство SQL, чтобы его выполнить компонент Query активируется.

Его можно активировать, используя инспектор объектов:

Свойство значение

Active true

Можно это выполнить программно:

{ADOquery1->Open(); {подключение к базе данных}

Button1->Enabled=False; {к активной базе данных нельзя подключиться}

}

Запросы можно задавать как на этапе проектирования, так и этапе программирования. Иногда удобнее задавать в ходе выполнения приложения.

Тот же запрос на выборку всех полей таблицы Tovar, выполненный программно.

В этом случае обработчик события при использовании компонента ADOQuery1 будет иметь следующий вид .

void __fastcall TForm1::Button1Click(TObject *Sender)

{

ADOQuery1->SQL->Clear(); //очищает от старого запроса

ADOQuery1->SQL->Add("select * from tovar"); //запрос

ADOQuery1->Open(); //активизирует компонент

}

В результате выполнения запроса компонент DBGrid предоставил таблицу Tovar в табличном виде. Если дважды щелкнуть на объекте DBGrid, откроется окно редактора свойств Columns Editor. Щелкнуть правой кнопкой мыши и выбрать строку Add All Fields. Откроется свойство Title и для каждого поля в свойстве Caption можно записать русские названия полей.

С помощью навигатора можно передвигаться по записям набора данных. Если на некоторое время задержать указатель мыши ад одной из кнопок навигатора, то появляется всплывающая подсказка к этой кнопке (значение свойства ShowHint – True).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]