Показать сообщение отдельно

Подключение БД в Delphi
  #1  
Старый 23.07.2008, 11:20
AL Capone
Познающий
Регистрация: 27.03.2007
Сообщений: 36
Провел на форуме:
1147600

Репутация: 86
По умолчанию Подключение БД в Delphi

================================================== ==================================================
В данной статье будет рассмотрен пример подключения базы данных в Delphi, с помощью технологии ADO, БД MS Access.
================================================== ==================================================

Перед тем подключить БД нужно сначала ее создать. Открываем MS Access.
Можете создать с помощью мастера, мне удобней в режиме конструктора.

Вводим имя поля и тип данных которое оно будет содержать.
Я ввел: имя поля - log, pass. Тип данных у обоих полей текстовый.
Ключевым полем выбираем log.

Нажимаем кнопку сохранить. Появится окно ввода имени таблицы. Вводим users.
Лучше всего сохранить БД в той же директории где находится Ваша программа, чтобы
не было проблем с переносом программы на другой компьютер.

Подключение.

Запускаем Delphi. В кладке ADO есть компонент ADOConnection, помещаем его на форму.
Этот компонент служит для подключения БД в программу. Выбираем свойство ConnectionString
в появившемся окне жмем кнопку Build. Далее нужно выбрать драйвер доступа к БД.


рис(1)

Выбираем Jet драйвер. Нажимаем Далее. В появившемся окне указываем путь к БД.
Если БД находится в той же директории, что и программа, то пишем только имя БД.
Далее нажимаем кнопку Проверка подключения.

Если все прошла удачно, то появится следующее сообщение:


рис(2)

В противном случаем переподключите базу.
Жмем ОК. Подключение базы закончено.

В компоненте ADOConnection свойство LoginPrompt устанавливаем в false.
Иначе, каждый раз будет выходить табличка для ввода пароля доступа к базе.
Теперь мы можем с ней оперировать.

Работа с базой.

Помещаем на форму компонент ADOQuery. Этот компонент служит, для составления запросов SQL в базу.
В свойстве Connection, выбираем ADOConnection1.
Отрываем свойство SQL. В появившееся окно вводим запрос.

Запрос:
Код:
SELECT *
FROM users
Свойство Active устанавливаем в true.

Далее, из кладки Data Access, помещаем компонент DataSource, этот компонент служит для отображения содержимого базы.
В свойстве DataSet выбираем ADOQuery1.

Кладка DataControls, компонент DBGrid, это таблица, которая собственно и отображает базу.
В свойстве DataSource выбираем DataSource1. После этого на этом компоненте должны появится поля базы.


рис(3)

Добавление записи.

Поместим на форму 2 Edit'a, одно для того, чтобы ввести логин, а другое для пароля, также поместим Button.

Прописываем процедуру Button1Click:

Код:
procedure TMain_Form.Button1Click(Sender: TObject);
var query:string;
begin
     query:='INSERT INTO users VALUES('''+Edit1.Text+''','''+Edit2.Text+''');';//**Запрос для добавления записи
     ADOQuery1.SQL.Clear;//**Очистка предыдущего запроса.
     ADOQuery1.SQL.Text:=query;//**Заносим запрос
     ADOQuery1.ExecSQL;//**Выполнения запроса
     //**Отображения содержимого базы
     ADOQuery1.Active:=false;
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('SELECT * FROM users ORDER BY log;');
     ADOQuery1.Active:=true;
end;
Другие запросы создаются аналогично.

23.07.08
 
Ответить с цитированием