Работа с MySQL с использованием Denwer. Часть 2

4 минуты на чтение

В прошлой статье по работе с базой данных MySQL c использованием Denwer мы рассмотрели какие компоненты можно использоваться для этого, а также рассмотрели простую работу подключения к данной БД, кроме этого необходимые компоненты были приложены в данной статье. В этой статье я хотел бы немного продолжить разговор и немного усовершенствовать наш проект, добавив в него потоки, чтобы можно было подключаться к нашей БД через поток, все таки, некоторые хостинги отвечают на подключение очень медленно и чтобы не вводить в заблуждение нашего пользователя, когда будет происходить подключение к нашей БД, если будет указан неверное логин и пароль, то естественно программа без потока зависнет на время подключения, только после того, как получит ответ от сервера выдаст ошибку, что пароль неверный. Кроме добавления потока в нашу программу, еще хотел бы написать пару запросов к нашей таблице.

Итак, что нам потребуется, в данный момент нам потребуется БД, таблица в нашей БД ну и компоненты, а также некоторый набор данных в нашей. Итак давайте на форму установим следующие компоненты

  • TMyConnection
  • TMyQuery

«Свяжем» компонент TMyQuery в свойстве Connection - выберем компонент MyConnection1 (в моем случае). Далее сделаем подключение к нашей БД через поток. Данные для подключения у меня следующие

  • Сервер – localhost
  • Имя пользователя – test
  • Пароль – test
  • Имя БД – test

При этом, если Вы сейчас тестируете на Denwer’e, то не забывайте запустить сервер. У меня был объявлен следующий поток

Type
  TMyThreadConnect=class(TThread)
   public
    flagConnect:boolean;
   protected
    procedure Execute;override;
    procedure Connect;
end;

После этого заполним нашу процедуру Execute и Connect

procedure TMyThreadConnect.Execute;
begin
  inherited;
    Form1.MyConnection1.Server:='localhost';
    Form1.MyConnection1.Username:='test';
    Form1.MyConnection1.Password:='test';
    Form1.MyConnection1.Database:='test';
    Form1.MyConnection1.Connect;
    if Form1.MyConnection1.Connected=True then
     flagConnect:=True
    else
     flagConnect:=False;
    Synchronize(Connect);
end;
procedure TMyThreadConnect.Connect;
begin
   if flagConnect=True then
    ShowMessage('Connect to Server');
end;

Теперь создадим наш поток

procedure TForm1.Button1Click(Sender: TObject);
var
 ThreadConnect:TMyThreadConnect;
begin
   try
    ThreadConnect:=TMyThreadConnect.Create(False);
    ThreadConnect.Resume;
   except
    on e:Exception do
   end;
end;

Итак теперь, как я и говорил сделаем несколько запросов к нашей БД. Скажу одно, что принцип работы с данной БД одинаков, как мы и работали с Access с помощью запросов. Можно также установить на форму TDBGrid для отображения данных из нашей БД. Таблица я создал с названием test_table и со следующими полями

  • id — auto_increment
  • fio — TEXT

Запрос на добавления данных будет выглядеть следующим образом

procedure TForm1.Button3Click(Sender: TObject);
begin
   MyQuery1.SQL.Clear;
   MyQuery1.SQL.Add('INSERT test_table SET fio=''Иванов Иван Иванович''');
   MyQuery1.Execute;
end;

Запрос на выборку данных по условию будет выглядеть следующим образом

procedure TForm1.Button4Click(Sender: TObject);
begin
   MyQuery1.SQL.Clear;
   MyQuery1.SQL.Add('SELECT * FROM test_table WHERE fio=''Иванов Иван Иванович''');
   MyQuery1.Execute;
   ShowMessage(IntToStr(MyQuery1.RecordCount));
end;

Как видите запросы везде одинаковые, по работе с MySQL с использованием Denwer я уделю еще — работа с Blob-полями и на этом закончим, так как все почти одинаковое.

Facebook Vk Ok LinkedIn Telegram

Похожие записи:

В этой статье я хотел бы поговорить как можно использовать базу MySQL из «джентльменского набора» Denwer. Многие знают, что там есть MySQL, так вот, чтобы, например, написать софт с использованием базы MySQL на Delphi не обязательно качать отдельный сервер баз...
Всем привет, когда я рассматривал тему, про то, как можно работать с MySQL в Delphi, то в ней я приводил название компонентов, через которые осуществлялся доступ к БД и таблицам БД. Данный компонент, для доступа к MySQL, который я упоминал раньше, носит назван...
Не долго пришлось ждать следующей статьи — про MapWindow GIS в Delphi, а тема ее — Работа с таблицами атрибутов, а точнее, работа, с тем самым, файлом dbf. Вообще, как Вы догадались возможно раньше, что приложен файл dbf - к shp-файлу не с проста. Вообще, если...