==================================================================================================== В данной статье будет рассмотрен пример подключения базы данных в 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. В появившееся окно вводим запрос. Запрос: Code: SELECT * FROM users Свойство Active устанавливаем в true. Далее, из кладки Data Access, помещаем компонент DataSource, этот компонент служит для отображения содержимого базы. В свойстве DataSet выбираем ADOQuery1. Кладка DataControls, компонент DBGrid, это таблица, которая собственно и отображает базу. В свойстве DataSource выбираем DataSource1. После этого на этом компоненте должны появится поля базы. рис(3) Добавление записи. Поместим на форму 2 Edit'a, одно для того, чтобы ввести логин, а другое для пароля, также поместим Button. Прописываем процедуру Button1Click: Code: 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
'INSERT INTO users VALUES('''+Edit1.Text+''','''+Edit2.Text+''');' подобный текст пихать в SQL запрос несовсем правильно... а что если понадобаться запихать дату? лутше делать через параметры, ИМХО гораздо надёжнее: Code: INSERT INTO users VALUES(:par1,:par1); а потом этим параметрам присваиваем значения Code: ADOQuery1.Parameters.ParamByName('par1').Value := Edit1.Text; ADOQuery1.Parameters.ParamByName('par2').Value := Edit2.Text;