Форум: "Начинающим";
Текущий архив: 2009.05.17;
Скачать: [xml.tar.bz2];
Внизсвязь с БД Найти похожие ветки
← →
Cabyrc © (2009-03-17 11:01) [0]Каким образом в Delphi головной модуль связать с любой из распространенных СУБД (Access, MySQL, Oracle, FoxPro, InterBase), при этом соединение должно быть динамическим, т.е. пользователь при помощи диалогового окна выбирает БД, с которой будут производиться вычисления???
← →
Ega23 © (2009-03-17 11:05) [1]Легко. Генерить ConnectionString в динамике, и все дела.
← →
stas © (2009-03-17 16:48) [2]Если ADO
PromptDataSource(Application.Handle,Connection);
← →
Cabyrc © (2009-03-18 06:30) [3]1) При помощи ConnectionString в динамике файл самой БД должен ведь обязательно лежать в директории с exe-файлом нашего скомпилированного проекта, насколько мне известно. А реализация проекта иная, пользователь открывает готовый про-дукт, выбирает нужную ему БД, после чего идет подключение проги к выбранной БД и вывод данных таблиц на экран??
2) Что за PromptDataSource?? И где его искать??
← →
Медвежонок Пятачок © (2009-03-18 08:56) [4]При помощи ConnectionString в динамике
здесь речь не про тот динамик. это не спикер внутри корпуса.
← →
Ega23 © (2009-03-18 09:04) [5]
> файл самой БД должен ведь обязательно лежать в директории
> с exe-файлом нашего скомпилированного проекта, насколько
> мне известно.
Учи матчасть.
← →
Медвежонок Пятачок © (2009-03-18 09:05) [6]файл самой БД должен ведь обязательно лежать в директории с exe-файлом нашего скомпилированного проекта, насколько мне известно
Любой пример из папки demos\db покажет, что это небылица.
← →
Коммуноцентрист1 (2009-03-18 09:05) [7]
> Cabyrc © (18.03.09 06:30) [3]
> При помощи ConnectionString в динамике файл самой БД должен
> ведь обязательно лежать в директории с exe-файлом
в общем случае распространенная БД может находиться в неизвестном кол-ве файлов, раскиданных по разным директориям. Соответественно, вид ConnectionString формализовать довольно сложно, там указываются не обязательно файлы.
← →
sniknik © (2009-03-18 10:27) [8]> в неизвестном кол-ве файлов, раскиданных по разным директориям.
и даже больше, она может находится в разделе отделенном от файловой системы оси, поддерживаемом непосредственно сервером бд.
т.е. там где само понятие директория/файл недействительно...
← →
Ega23 © (2009-03-18 10:32) [9]а сам сервер может на другой стороне земного шара находиться.
← →
Anatoly Podgoretsky © (2009-03-18 11:15) [10]
> Учи матчасть.
Жизнь его накажет строго.
← →
Плохиш © (2009-03-18 12:12) [11]Как хорошо всё начиналось
> Cabyrc © (17.03.09 11:01)
>
> Каким образом в Delphi головной модуль связать с любой из
> распространенных СУБД (Access, MySQL, Oracle, FoxPro, InterBase),
> при этом соединение должно быть динамическим
а в итоге, как всегда
> Cabyrc © (18.03.09 06:30) [3]
>
> 1) При помощи ConnectionString в динамике файл самой БД
> должен ведь обязательно лежать в директории с exe-файлом
> нашего скомпилированного проекта, насколько мне известно.
>
← →
stas © (2009-03-18 17:38) [12]Cabyrc © (17.03.09 11:01)
Советую для начала разобраться с работой Delphi+ADO+Access.
← →
Cabyrc © (2009-03-19 09:02) [13]Вот как раз я здесь и для того чтоб разобраться! Форум он и нужен для этой цели! По ходу работы у меня возникают соответствующие вопросы, на которые хочется услышать вразумительные ответы, а не остроумные подковырки. Коль нечего подсказать, так и не стоит сюда писать и запутывать больше!
И на сколько мне известно при помощи того же самого ConnectionString указывается имя и расширения соответствующей БД. А для меня с точки зрения программиста, интересует вопрос связанный с тем что я не знаю не названия, не расширения БД. Она (БД) может быть одной из пяти распространенных: Access, MySQL, Oracle, FoxPro, InterBase. И путь к ней я тоже не знаю, его указывает пользователь проги.
← →
pavel_guzhanov © (2009-03-19 09:13) [14]При использовании ADO можно
var CS:String;
begin
CS:=PromptDataSource(Handle, CS);
ADOConnection1.ConnectionString:=CS;
...
end;
Для InterBase можно и самому сваять диалог, позволяющий вводить/выбирать имя сервера и путь к базе данных на этом сервере.
← →
ЮЮ © (2009-03-19 09:31) [15]
> И на сколько мне известно при помощи того же самого ConnectionString
> указывается имя и расширения соответствующей БД
Имя СЕРВЕРА БД и имя БАЗЫ ДАННЫХ, забудь про файлы.
FoxPro не в счет.
> Она (БД) может быть одной из пяти распространенных: Access,
> MySQL, Oracle, FoxPro, InterBase
А у распространненных серверов БД, как ни странно, совершенно разный синтаксис SQL.
Поэтому, универсальная программа может работать только на TTable от BDE, только кому она нафиг нужна такая "универсальеость" :)
← →
Плохиш © (2009-03-19 10:26) [16]
> Cabyrc © (19.03.09 09:02) [13]
>
> Вот как раз я здесь и для того чтоб разобраться! Форум он
> и нужен для этой цели!
Ты заблуждаешься.
> Коль нечего подсказать, так и не стоит сюда писать и запутывать
> больше!
Бедный, запутаный
> И на сколько мне известно при помощи того же самого ConnectionString
> указывается имя и расширения соответствующей БД.
С такими знаниями могу посоветовать только начать с основ. Написать первую программу "Hello world!"
← →
Сергей М. © (2009-03-19 10:35) [17]
> пользователь при помощи диалогового окна выбирает БД
Имеется ввиду диалоговое окно выбора файла или директории ?
Или что ?
← →
Anatoly Podgoretsky © (2009-03-19 14:59) [18]> Cabyrc (19.03.2009 9:02:13) [13]
Так это понимание для чего нужен форум и кто имеет право писать и как в твою ветку вне пределов твоих возможностей, на то и форум, что каждый сам это решает.
← →
Anatoly Podgoretsky © (2009-03-19 15:01) [19]> Плохиш (19.03.2009 10:26:16) [16]
Это сложно, начать надо с написания программы "Hello"
← →
Cabyrc © (2009-03-20 08:10) [20]
> ЮЮ
Универсальность такая нужна!!! Да спору нет синтаксис отличается, но в этих БД самая простая таблица и запрос к ней будет тоже самым простым (выбрать все из имеющейся таблицы).
> Сергей М.
Да, именно это и имеется ввиду!
> Плохиш и Anatoly Podgoretsky
Вы два алежи и этим все сказано!
← →
Сергей М. © (2009-03-20 08:43) [21]
> Cabyrc © (20.03.09 08:10) [20]
> именно это и имеется ввиду
И что же, по-твоему, должен будет выбрать юзер в случае подключения, например, к InterBase-серверу, когда тот находится на удаленном хосте ?
← →
ЮЮ © (2009-03-20 09:17) [22]
> Универсальность такая нужна!!! Да спору нет синтаксис отличается,
> но в этих БД самая простая таблица и запрос к ней будет
> тоже самым простым (выбрать все из имеющейся таблицы).
В таком случае совершенно не понятно к чему MySQL, Oracle, InterBase
Ибо одна таблица - это не база. Ну да ладно.
Тогда возможные варианты:
BDE, TTable, использование алиаса.
Настройка клиента на нужную базу сводится к настройке алиса в BDE администраторе.
ADO, TADOTable, использование udl-файла.
Настройка на клиенте сводится к настройке соединения - udf-файла
В обоих случаях возможно использовать ODBC. Ещё один посредник сделает БАЗУ весомее :)
← →
Cabyrc © (2009-03-20 09:31) [23]
> Сергей М.
Удаленный доступ не рассматривпется, все находится на локальной машине
← →
Cabyrc © (2009-03-20 09:32) [24]
> Сергей М.
Удаленный доступ не рассматривпется, все находится на локальной машине
← →
ЮЮ © (2009-03-20 09:37) [25]
> Удаленный доступ не рассматривпется, все находится на локальной
> машине
>
Ну тогда точно без Oracle не обойтись :)
Ну и зачем тогда такое разнообразие. Кому захочется ставить на локалку сервер из-за одной таблицы? Зачем он вообще нужен?
Как вариант - TClientDataSet c SaveToFile/LoadToFile
← →
Плохиш © (2009-03-20 10:27) [26]
> Cabyrc © (20.03.09 09:31) [23]
>
>
> > Сергей М.
>
> Удаленный доступ не рассматривпется, все находится на локальной
> машине
>
К чему тогда упоминания MySQL, Oracle? Или вы эти слова где-то слышали?
← →
Плохиш © (2009-03-20 10:28) [27]
> Cabyrc © (20.03.09 09:31) [23]
Запусти для образования мастер создания строки подключения в делфи и посмотри как окно выбора меняется для выбора разных субд.
← →
ЮЮ © (2009-03-20 10:29) [28]
> К чему тогда упоминания MySQL, Oracle? Или вы эти слова
> где-то слышали?
Но, к сожалению, не видели. И мечтали их увидеть в OpenDialog1 :)
← →
corban (2009-03-23 06:20) [29]нда... флудить-то вы умеете... чел просил конкретной помощи, а получил как обычно
← →
Palladin © (2009-03-23 08:20) [30]
> corban (23.03.09 06:20) [29]
он ее получил в самом первом ответе, потом еще и во втором... какие проблемы?
← →
Palladin © (2009-03-23 08:21) [31]
> corban (23.03.09 06:20) [29]
хотя, конечно, ни ты, ни он его не поняли... ну что ж, удачи вам, господа...
← →
Anatoly Podgoretsky © (2009-03-23 08:51) [32]Автор после получения ответов сначала стал нести ахинею, а потом и претензии предъявлять, что его на учат.
← →
Плохиш © (2009-03-23 11:49) [33]
> corban (23.03.09 06:20) [29]
>
> нда... флудить-то вы умеете...
Да и вы не отстаёте...
← →
Ega23 © (2009-03-23 12:27) [34]автор, тебе сюда
http://www.connectionstrings.com/
Когда выучишь - можешь дальше вопросы задавать.
← →
Sinusoid (2009-04-01 16:05) [35]Если пользователь выбирает базу данных руками )) то нужно использовать OpenDialog со всеми вытекающими последствиями ))
← →
Ega23 © (2009-04-01 16:10) [36]
> то нужно использовать OpenDialog
Да ну? А я вот комбобокс обычный использую, это как, нормально? :)
← →
Jeer © (2009-04-01 16:50) [37]
> Ega23 © (01.04.09 16:10) [36]
>
>
> > то нужно использовать OpenDialog
>
>
> Да ну? А я вот комбобокс обычный использую, это как, нормально?
> :)
>
Конечно не нормально.
Ну как же обойтись без диалога выбора файла :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.05.17;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.007 c