Форум: "Базы";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
ВнизКак программно указать путь доступа к БД? Найти похожие ветки
← →
Nikos (2003-05-03 13:47) [0]Я создал псевдоним для БД. Указал путь доступа к БД. В ходе работы программы мне необходимо изменить путь, а вернее переключится на другую БД, то есть путь доступа должен измениться. Возможно ли это сделать, ведь БД уже другая?
А суть программы такова. Пользователь из списка выбирает БД, которая ему необходима, при чем количество БД может меняться. После работы с БД, пользователь захочет поработать с другой БД и так далее. При этом разные БД будут находиться по разным путям (пути мне известны). Возможно ли создать один псевдоним, а менять только пути для доступа к этим БД или для каждой нужно создавать собственные псевдонимы? Если придется создавать новый, то подскажите как это можно сделать программным путем?
← →
Anatoly Podgoretsky (2003-05-03 13:54) [1]Используй TDatabase
← →
MsGuns (2003-05-03 16:25) [2]Для настроек алиасов на конкретные папки используй TSession или вообще откажись от алиасов и работай как сказал Anatoly Podgoretsky © (03.05.03 13:54), т.е. в св-ве этого объекта перед открытием БД указывай нужный путь (и не забудь для первого обращения настроить Params)
← →
Anatoly Podgoretsky (2003-05-03 16:39) [3]Мною предложенный путь позволяет использовать оба варианта, и тем более что все остальные компоненты будут пользоваться логическим псевдонимом из TDatabase, не привязываясь к конкретной базе.
← →
Nikos (2003-05-03 18:34) [4]Не могли бы вы объяснить по подробнее. Как настроить Params и в каком именно свойстве объекта TDatabase задать путь к БД?
← →
Anatoly Podgoretsky (2003-05-03 19:01) [5]Скачай с моего сайта любую программу работы с базами, там сделано именно так, модернизируешь под свои нужды.
← →
mukha (2003-05-03 20:51) [6]Примерно так:
Screen.Cursor:=crHourGlass;
Table1.Close;
Table1.DatabaseName:="Base";
Table1.TableName:="MyBase.db";
Table1.Open;
Screen.Cursor:=crDefault;
← →
Nikos (2003-05-03 22:31) [7]Anatoly Podgoretsky © а где находится ваш сайт? Не могли бы дать ссылку?
← →
sniknik (2003-05-03 22:50) [8]Nikos (03.05.03 22:31)
> Anatoly Podgoretsky © а где находится ваш сайт? Не могли бы дать ссылку?
а см. прямо в "точку копирайта". ;о)
← →
Nikos (2003-05-04 12:08) [9]А если у меня есть полный путь, то есть
1 База Данных находится по пути C:\Temp\Base1.db
2 База Данных находится по пути C:\Folder\Base2.db
3 База Данных находится по пути D:\Base3.db
Куда мне вписывать эти пути, чтобы программа смогла обратится к этим БД.
← →
MsGuns (2003-05-04 12:34) [10]Беда многих начинающих, что они путают понятие "база данных" и "таблица БД". Если у тебя твоя "БД" состоит из единственной таблицы, то путь к файлу этой таблицы (.db) указываешь в TableName. Если надо юзать три таблицы в разных каталогах за раз, кладешь 3 TTable и св-вах TableName каждого указываешь пути.
Если таблицы используются попеременно, то каждый раз перед сменой пути закрываешь текущую таблицу, изменяешь путь в св-ве TableName, после чего опять открывешь и работаешь, как и прежде.
Да, кстати, структуры, индексы всех "переключаемых" таблиц должны быть идентичны, если отображаются они все в одном и том же гриде. В противном случае надо перед открытием таблицы чистить коллекцию колонок грида. (RebuildColumns)
Если же БД состоит более, чем из одной таблицы (в большинстве случаев, т.к. любой справочник - уже есть доп.таблица), то все они должны быть в одном каталоге и лучше для ЦЕНТРАЛИЗОВАННОГО доступа к ним юзать компонент TDataBase. Если таких баз несколько экземпляров в разных папках или даже компах, тогда рекомендуется динамически в программе создавать алиас, его настраивать на нужную папку (путь можно брать, к примеру, из ini-файла или дать вводить продвинутому юзеру), а затем к этому алиасу ссылаться из своей TDataBase.
Для динамич.работы с алиасами в BDE используется TSession
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c