Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2014, 09:22   #1
Ezhikoff
 
Аватар для Ezhikoff
 
Регистрация: 09.09.2014
Сообщений: 4
Сообщение Форма подключения к MySQL

Доброго времени суток. Прошу в помощи в реализации формы для подключения к MySQL.
Дано:
Удаленный локальный сервер с MySQL.
Необходимо:
Создать форму для подключения к базе данных, то есть пользователь должен заполнить форму: Адрес хоста с MySql, login и пароль для подключения, затем нажать кнопочку "Подключиться" и редактировать базу или совершать поиск данных. Огромная просьба написать какие компоненты использовать и код для кнопочки подключения. Классически было бы реализовать это в меню настройки программы с возможностью сохранения настроек. Сам клиент для подключения к базе я сделал на ADO, но как я понял если сервер поменяет ip то моя программка уже не подключиться к базе. Или подскажите, как это делают нормальные люди.
Ezhikoff вне форума Ответить с цитированием
Старый 09.09.2014, 09:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Или подскажите, как это делают нормальные люди.
Так как ты и делают. То что введено: Логин и IP можно запоминать в реестре или в INI файле рядом с программой.
Цитата:
какие компоненты использовать
ADO вполне подойдет.
Цитата:
код для кнопочки подключения
Как пользователи заведены в базу? Ролями или некой таблицей с юзерами и паролями?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.09.2014, 09:38   #3
Ezhikoff
 
Аватар для Ezhikoff
 
Регистрация: 09.09.2014
Сообщений: 4
По умолчанию

В MySQL созданы 2 пользователя с правами редактирования базы
Ezhikoff вне форума Ответить с цитированием
Старый 09.09.2014, 09:44   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Т.е. это роли?
Тогда не сильно парься. Используй ADOConnection. К нему подключай остальные Query или Table. Создай форму с тремя Эдитами и кнопкой. По клику на кнопке заполни свойства ADOConnection соответственно как требует Мускул и активируй его.
Если пароль примется СУБД, то Коннектор даст активацию и остальным компонентам (ну в смысле позволит им работать). Именно для такого случая он и создан.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.09.2014, 09:54   #5
Ezhikoff
 
Аватар для Ezhikoff
 
Регистрация: 09.09.2014
Сообщений: 4
По умолчанию

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

Вот я так понял похожий пример сделанный на LAZARUS.
Код:

procedure TFormTryMySQL.ConnectButtonClick(Sender: TObject);
begin
  // Check if we have an active connection. If so, let's close it.
  if MySQLConnection1.Connected then CloseConnection(Sender);
  // Set the connection parameters.
  MySQLConnection1.HostName := HostEdit.Text;
  MySQLConnection1.UserName := UserEdit.Text;
  MySQLConnection1.Password := PasswdEdit.Text;
  MySQLConnection1.DatabaseName := 'mysql'; // MySQL is allways there!
  ShowString('Opening a connection to server: ' + HostEdit.Text);
  MySQLConnection1.Open;
  // First lets get a list of available databases.
  if MySQLConnection1.Connected then begin
    ShowString('Connected to server: ' + HostEdit.Text);
    ShowString('Retrieving list of available databases.');
    SQLQuery1.SQL.Text := 'show databases';
    SQLQuery1.Open;
    while not SQLQuery1.EOF do begin
      DatabaseComboBox.Items.Add(SQLQuery1.Fields[0].AsString);
      SQLQuery1.Next;
    end;
    SQLQuery1.Close;
    ShowString('List of databases received!');
  end;
end;

Последний раз редактировалось Ezhikoff; 09.09.2014 в 10:01.
Ezhikoff вне форума Ответить с цитированием
Старый 09.09.2014, 10:40   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

У мну Лазарь. Я на Делфи уже не пишу, так что примеров нет.
Максимум что могу посоветорвать поискать в инете примеры с этим компонентом. Ну и есть статьи описания.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.09.2014, 11:26   #7
Ezhikoff
 
Аватар для Ezhikoff
 
Регистрация: 09.09.2014
Сообщений: 4
По умолчанию

Ок, будем искать с перламутровыми пуговицами
Ezhikoff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма подключения! Обсуждение управления формами. Leximus Общие вопросы Delphi 1 10.07.2013 15:51
Удаление подключения MySQL Delphi xxbesoxx БД в Delphi 0 28.01.2013 17:40
MySQL и pipe: как прописать строку подключения andrew_jr20 C# (си шарп) 1 20.08.2012 23:39
Нестабильность подключения к MySQL-серверу _SERGEYX_ БД в Delphi 7 20.12.2010 15:50
Свежие компоненты для подключения к MySQL 5.1 Kuzya59 Компоненты Delphi 3 28.06.2010 13:14