Автор работы: Пользователь скрыл имя, 18 Марта 2012 в 18:00, курсовая работа
Современный мир информационных технологий трудно представить себе без возможности обработки больших объемов информации. Такие объемы информации удобно обрабатывать с помощью баз данных.
Таблица 2.5. Свойства компонента Query
|
|
|
|
| Свойство | Определяет |
|
| Name
SQL
Active | Имя компонента. Используется компонентом Datasource для связи результата выполнения запроса (набора записей) с компонентом, обеспечивающим просмотр записей, например DBGrid Записанный на языке SQL запрос к базе данных (к таблице) При присвоении свойству значения True активизирует выполнение запроса |
|
|
|
|
|
Для того чтобы во время разработки программы задать, какая информация будет выделена из базы данных в результате выполнения запроса, свойство SQL должно содержать представленный на языке SQL запрос на выборку данных.
В общем виде запрос на выборку из таблицы данных выглядит так:
SELECT Список-Полей FROM Таблица WHERE (Критерий) ORDER BY СписокПолей
где:
SELECT — команда выбора записей из таблицы и вывода содержимого полей, имена которых указаны в списке;
FROM — параметр команды, который определяет имя таблицы, из которой нужно сделать выборку;
WHERE — параметр, который задает критерий выбора. В простейшем случае критерий — это инструкция проверки содержимого поля;
ORDER BY - параметр, который задает условие, в соответствии с которым будут упорядочены записи, удовлетворяющие критерию запроса.
Запрос может быть сформирован и записан в свойство SQL во время разработки формы или во время работы программы.
Для записи запроса в свойство SQL во время разработки формы используется редактор списка строк (рис. 2.7), окно которого открывается в результате щелчка на кнопке с тремя точками в строке свойства SQL окна Object Inspector.
Рис. 2.7. Пример запроса к базе данных "Организация учебного процесса в ВУЗе"
Свойство SQL представляет собой список строк. Поэтому чтобы сформировать запрос во время работы программы, нужно, используя метод Add, добавить строки (SQL-инструкции) в список SQL.
Для просмотра базы данных и результата выполнения запроса используется компонент DBGrid, который через компонент DataSource взаимодействует с компонентом Table (при просмотре всей базы данных) или с компонентом Query (при просмотре результата выполнения запроса).
В принципе, простейшая программа управления базой данных готова. Эта программа обеспечивает просмотр, редактирование, добавление новых и удаление ненужных записей.
Окончательный вид формы приложения приведен на рис. 2.8.
Рис. 2.8. Окончательный вид формы приложения
После этого программу можно откомпилировать и запустить. Следует обратить внимание, что для того чтобы после запуска программы в окне появилась информация или, если база данных пустая, можно было вводить новую информацию, свойство Active таблицы-источника данных должно иметь значение True.
3. Тестирование.
Тестирование было проведено на примере Базы Данных. В базу данных было произведено введение данных о компонентах. Всего было введено 15 компонентов. Все данные были введены в случайном порядке. Для начала произвольный компонент был выбран из прокручиваемого списка, потом в графе поиска были, по очереди, прописаны все компоненты из списка. Программа не дала сбоев и ошибок. Программа успешно прошла тестирование.
4. Листинг программы.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, StdCtrls;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Query1: TQuery;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
DataSource1.DataSet:=Table1;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
DataSource1.DataSet:=Table1;
Table1.Active:=True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
prepod:string[30];
begin
prepod:=InputBox('Выборка информации из БД',
'Введите данные преподавателя и щелкните на Ок.','');
if prepod <> ' ' then
begin
with form1.Query1 do begin
Close;
SQL.Clear;
SQL.Add('SELECT Prepod, Disciplin, Auditoria');
SQL.Add('FROM ":KadeevaV:Tablica1.db"');
sQL.Add('WHERE');
SQL.Add('(Prepod='''+prepod+''
SQL.Add('ORDER BY Disciplin');
Open;
end;
if Query1.RecordCount<>0 then
DataSource1.DataSet:=Query1
else begin
ShowMessage('В БД нет записей, удовлетворяющих критерию запроса.');
DataSource1.DataSet:=Table1;
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
end.