Кодинг.статья.версия 1 :))

ZyXEL

floppy-диск
Пользователь
Регистрация
05.05.2005
Сообщения
1
Реакции
0
Пишу статьи 1 раз, если чего не так говорите.Есть другие мысли на счёт того как изложить материал.




Первой темой нашего первого номера, моей первой статьи будет ... SQL.Да да, этот загадочный SQL.
SQL (обычно произносимый как "СИКВЭЛ" или "ЭСКЮЭЛЬ") символизирует собой Структурированный Язык Запросов. Это - язык, который дает Вам возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах.
Компоненты Delphi для работы с базами данных были созданы в расчете на работу с SQL и архитектурой клиент/сервер. При работе с ними вы можете воспользоваться характеристиками расширенной поддержки удаленных серверов. Delphi осуществляет эту поддержку двумя способами. Во-первых, непосредственные команды из Delphi позволяют разработчику управлять таблицами, устанавливать пределы, удалять, вставлять и редактировать существующие записи. Второй способ заключается в использовании запросов на языке SQL, где строка запроса передается на сервер для ее разбора, оптимизации, выполнения и передачи обратно результатов. В данной статье мы рассмотрим второй способ, т.е способ доступа к БД с помощью SQL.

Компонент TQuery

Если в ваших приложениях вы собираетесь использовать SQL, то вам непременно придется познакомиться с компонентом TQuery. Компоненты TQuery и TTable наследуются от TDataset. TDataset обеспечивает необходимую функциональность для получения доступа к базам данных. Как таковые, компоненты TQuery и TTable имеют много общих признаков. Для подготовки данных для показа в визуальных компонентах используется все тот же TDatasource. Также, для определения к какому серверу и базе данных необходимо получить доступ, необходимо задать имя псевдонима. Это должно выполняться установкой свойства aliasName объекта TQuery.

Свойство SQL

Все же TQuery имеет некоторую уникальную функциональность. Например, у TQuery имеется свойство с именем SQL. Свойство SQL используется для хранения SQL-запроса. Ниже приведены основные шаги для составления запроса, где все служащие имеют зарплату свыше $50,000.


Создайте объект TQuery

Задайте псевдоним свойству DatabaseName. (Данный пример использует псевдоним IBLOCAL, связанный с демонстрационной базой данных employee.gdb).

Выберите свойство SQL и щелкните на кнопке с текстом - '...' (три точки). Должен появиться диалог редактора списка строк (String List Editor).

Введите: Select * [(значит мы выбрали все поля)] from EMPLOYEE [(имя БД)] where SALARY [(имя поля)] >50000. Нажмите OK.

Выберите в Инспекторе Объектов свойство Active и установите его в TRUE.

Разместите на форме объект TDatasource.

Установите свойство Dataset у TDatasource в Query1.

Разместите на форме TDBGrid.

Установите его свойство Datasource в Datasource1.

Свойство SQL имеет тип TStrings. Объект TStrings представляет собой список строк, и чем-то похож на массив. Тип данных TStrings имеет в своем арсенале команды добавления строк, их загрузки из текстового файла и обмена данными с другим объектом TStrings. Другой компонент, использующий TStrings - TMemo. Т.е мы можем ввести SQL-запрос прямо в Memo.А вот и код кнопки для обработки этого запроса :

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Query1.close; {Деактивируем запрос в качестве одной из мер предосторожности }
Query1.SQL.Clear; {Стираем любой предыдущий запрос}
If Memo1.Lines[0] <> '' {Проверяем на предмет пустого ввода} then
Query1.SQL.Add(Memo1.Text) {Назначаем свойству SQL текст Memo}
else

begin

messageDlg('Не был введен SQL-запрос', mtError, [mbOK], 0);
exit;

end;

try {перехватчик ошибок}

Query1.Open; {Выполняем запрос и открываем набор данных}

except {секция обработки ошибок}

On e : EDatabaseError do {e - новый дескриптор ошибки}

messageDlg(e.message, mtError, [mbOK],0); {показываем свойство message объекта e}

end; {окончание обработки ошибки}

end;
Конец 1 части
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх