Topic: Работа с несколькими БД одноврменно

Дмитрий, добрый день (вечер)!
Подскажите пожалуйста как решить следующие проблемы в работе с несколькими БД в одном проекте:
1. Согласно примера из ветки http://myvisualdatabase.com/forum/viewtopic.php?id=2463 получаю данные в грид, как открыть/сохранить имеющийся в удаленной БД файл?
2. Как открыть форму для редактирования записи из удаленной БД?
3. Как явно указать в какую БД отправлять запрос для заполнения отдельных элементов формы?

Re: Работа с несколькими БД одноврменно

Приветствую.


Если проект по умолчанию использует СУБД SQLite, подключение к MySQL можно осуществить только скриптом, также взаимодействие с MySQL, такие как сохранение и чтение данных можно сделать тоже только скриптом.


1.  Сделал для вас примеры, приложил к сообщению. Как открывать и сохранять файлы в MySQL.

2-3.  Чтение и сохранение данных с формы в MySQL также можно осуществить только скриптом. Т.е. читаем данные из MySQL, заполняем ими форму. При нажатии на кнопку Сохранить, читаем данные с формы, вставляем их в SQL запрос и выполняем его для MySQL подключения.

Post's attachments

Attachment icon SaveFileToDatabase script and connect to MySQL.zip 6.98 kb, 347 downloads since 2018-01-30 

Attachment icon SaveFromToDatabase script and connect to MySQL.zip 7.32 kb, 343 downloads since 2018-01-30 

Dmitry.

3 (edited by indigen 2018-01-31 18:34:06)

Re: Работа с несколькими БД одноврменно

Дмитрий, добрый день!
Спасибо за вышеуказанные примеры, но у меня остался один вопрос: как заполнить получить обычные текстовые данные для заполнения формы?
И второй вопрос по TWebBrowser: возможно ли получить содержимое HTML тега по его id или name и сохранить его в edit или memo?

Re: Работа с несколькими БД одноврменно

Спасибо за вышеуказанные примеры, но у меня остался один вопрос: как заполнить получить обычные текстовые данные для заполнения формы?

Скачайте пожалуйста последнюю версию
https://www.dropbox.com/s/jwwq7vbjl33os … 2.zip?dl=0


Добавил функцию ShowRecordEx, которая позволяет заполнить форму данными, указав при этом созданное MySQL подключение, пример использования:

var
    MySQL: TMyConnection;


procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
    if MySQL.Connected then
    begin
        ShowRecordEx(frmAddEdit, 'tablename', 1, MySQL); // 1 - id of record in the table
    end;
end;


procedure Form1_OnShow (Sender: TObject; Action: string);
begin
  MySQL := TMyConnection.Create(Form1);
  MySQL.Options.UseUnicode := True;
  MySQL.Server := '127.0.0.1'; // ip address of MySQL server
  MySQL.Port := 3306;
  MySQL.Username := 'username';
  MySQL.Password := 'password';
  MySQL.Database := 'databasename';
  MySQL.LoginPromt := False;

  try
      MySQL.Connect;
  except
      ShowMessage('Can''t connect to database.');
  end;
end;

procedure Form1_OnClose (Sender: TObject; Action: string);
begin
    MySQL.Disconnect;
    MySQL.Free;
end;

Проект с примером:

Post's attachments

Attachment icon MySQL script connection and populate form.zip 5.76 kb, 478 downloads since 2018-02-02 

Dmitry.

Re: Работа с несколькими БД одноврменно

Дмитрий, благодарю за помощь.

Жду возможность создания zip архиврв)

Re: Работа с несколькими БД одноврменно

И второй вопрос по TWebBrowser: возможно ли получить содержимое HTML тега по его id или name и сохранить его в edit или memo?

Скачайте пожалуйста снова последнюю версию.
https://www.dropbox.com/s/jwwq7vbjl33os … 2.zip?dl=0


Для TWebBrowser добавил метод GetElementById, пример

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.Edit1.Text := Web.GetElementById('radio1', 'value');
end;
Dmitry.