В этой статье я хотел бы поговорить как можно использовать базу MySQL из «джентльменского набора» Denwer. Многие знают, что там есть MySQL, так вот, чтобы, например, написать софт с использованием базы MySQL на Delphi не обязательно качать отдельный сервер базы MySQL, а если уже у кого-то установлен Denwer, то можно использовать его, или на крайний случай если есть хостинг, то и его. Только с хостингом могут быть не большие проблемы, например, некоторые хостинги запрещают подключение сторонних клиентов и поэтому дополнительно в вашей панели управления хостингом необходимо поставить галочку, что разрешать подключение, либо поставить фильтр на ip-адресса тех, кто может подключаться к данному хостингу. Ну для начала давайте запустим сам сервер и создадим в MySQL базу данных и пользователя с таблицей. Итак у меня вышли следующие данные
- Сервер — localhost
- Имя пользователя — test
- Пароль — test
- Имя БД — test
Порт указывать тут не требуется, если потребуется на хостинге, то в свойстве Port укажите нужный порт.
Итак, теперь необходимо договориться какие мы компоненты будем использовать для этих целей. Я в своем примере использовал компоненты myDAC. В данном посте я приложу их, но Вы сможете использовать любые другие компоненты, которые нравятся Вам для этих целей. Здесь мы рассмотрим только как можно подключиться к нашей Базе Данных и сделаем один не большой запрос к ней, чтобы удостовериться, что мы наверняка подключились к нашей БД. Ну, а в следующих постах рассмотрим как можно все запросы и подключения вынести в потоки, всетаки есть хостинги слабые и очень медленно обрабатывают запросы, поэтому чтобы не было никаких «зависаний» программы сделаем обработку в потоках. Итак, для нашего поста нам понадобится два компонента
- TMyConnection
- TMyQuery
С ними работать также как, например, с TAdoQuery, TAdoConnection, почти также. Сразу необходимо связать между собой эти два компонента. В свойстве компонента TMyQuery - Connection выберем компонент — MyConncetion1. Далее на событие OnClick кнопки напишем код подключения к нашей БД, не забываем, что у нас сервер запущен.
procedure TForm1.Button1Click(Sender: TObject);
begin
MyConnection1.Server:='localhost';
MyConnection1.Username:='test';
MyConnection1.Password:='test';
MyConnection1.Database:='test';
MyConnection1.Connect;
end;
Все данные о нашей БД мы рассмотрели выше, здесь мы только по ним подключаемся, заметьте здесь порт мы не указываем.
Таблице в нашей БД я создал под названием test_table с 2 полями
- id — уникальный (auto_increment)
- fio — TEXT
Ну и теперь на событие OnClick нашей кнопки делаем запрос в БД на выборку всех записей и выводим их количество
procedure TForm1.Button2Click(Sender: TObject);
begin
MyQuery1.SQL.Clear;
MyQuery1.SQL.Add('SELECT * FROM test_table');
MyQuery1.Execute;
ShowMessage(IntToStr(MyQuery1.RecordCount));
end;
Компоненты находятся в архиве, откроете архив и внизу него есть пароль на него там и скопируете его, либо же в поисковике найдете компоненты. Denwer также можно скачать, набрав в поисковике, либо просто протестировать на хостинге. Также можно написать программу управления своим сайтом, было бы довольно удобно.