У меня есть программа для Windows, которая генерирует формы PGP, которые будут заполнены позже.
Эти формы PHP будут заполнять базу данных. Это очень похоже на MySql, но я не уверен, поэтому назовем его ODBC.
И, да, это должна быть программа для Windows.
Будут также формы PHP, которые запрашивают базу данных - проверяют, какие таблицы и поля она содержит, а затем генерируют формы, которые можно использовать для поиска в базе данных (например, он находит таблицу с полями "employee_name" и т. Д. И генерирует Форма для поиска по имени сотрудника.
Давайте назовем это время проектирования и время выполнения.
Во время разработки какой-либо менеджер или ИТ-специалист или аналогичные лица могут определить природу базы данных, и во время выполнения 1) работник ежедневно заполняет форму и 2) руководство может извлекать отчеты.
Вот мой вопрос: учитывая, что база данных определяется во время разработки (и заполняется во время выполнения), где и как это лучше всего сделать?
1 Я мог бы использовать интерфейс ODBC из программы Windows, но мне трудно найти что-то хорошее для работы с Delphi. Такие вещи, как ADO и firebird, как правило, ожидают, что у вас уже есть база данных и позволяют вам манипулировать ею, но я не могу найти пример кода о том, как создать базу данных и некоторые таблицы, так что ...
2 Я мог использовать команды DOS от Delphi в моей программе Windows. Я только что попробовал и получил ответ на MySql --version
, но не уверен, что MySql и т. Д. Более интерактивны. То есть я могу использовать файл сценария или очень длинную команду stacked
с точками с запятой и возвращать разделение? например, 'CREATE DATABASE db; CREATE TABLE t1; '
3) Поскольку наилучшим способом работы с базами данных, по-видимому, является PHP, возможно, моя программа для Windows могла бы выплевывать страницу PHP, которая при запуске в браузере создала бы базу данных.
Я пытался сделать это как можно проще, но, пожалуйста, не стесняйтесь задавать вопросы. Может быть так, что есть несколько допустимых способов, но, вероятно, есть одно «лучшее» решение с точки зрения простоты внедрения или обслуживания.
Лучший вариант 3. Что если пользователь позже захочет вернуться и программа Windows изменит форму ввода? Также необходимо обновить базу данных.