ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Подключение БД в Delphi
  #1  
Старый 23.07.2008, 11:20
Аватар для AL Capone
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
 
Ответить с цитированием

  #2  
Старый 23.07.2008, 11:39
Аватар для dos999
dos999
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме:
183980

Репутация: 50
По умолчанию

'INSERT INTO users VALUES('''+Edit1.Text+''','''+Edit2.Text+''');'
подобный текст пихать в SQL запрос несовсем правильно... а что если понадобаться запихать дату?
лутше делать через параметры, ИМХО гораздо надёжнее:
Код:
 INSERT INTO users VALUES(:par1,:par1);
а потом этим параметрам присваиваем значения

Код:
 ADOQuery1.Parameters.ParamByName('par1').Value := Edit1.Text;
ADOQuery1.Parameters.ParamByName('par2').Value := Edit2.Text;
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фаронов В.В. Delphi. Программирование на высоком уровне xaker-boss С/С++, C#, Delphi, .NET, Asm 3 18.04.2008 11:33
Delphi задай вопрос [F.A.Q] [антибоян]... Jes С/С++, C#, Delphi, .NET, Asm 2 05.04.2008 23:26
Mts Good'ok подключение бесплатно Isis Сотовый фрикинг 4 10.12.2007 15:30
Азы Delphi Morph Авторские статьи 1 13.03.2005 01:22
Подключение к уд. компу в сети Sten@R Болталка 1 29.01.2005 03:50



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ