Вниз
Скачать: CL | DM;

Как программно указать путь доступа к БД?   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
1-70252
Litvin
2003-05-12 10:54
2003.05.22
округление значения аргумента


1-70217
Ш-К
2003-05-11 02:11
2003.05.22
Действие по расписанию.


1-70213
Angel_Forever
2003-05-11 10:46
2003.05.22
Shutdown в Win NT 2k XP


1-70391
Seldon
2003-05-09 18:29
2003.05.22
Подсветка синтаксиса в RichEdit


14-70467
Wizard
2003-05-03 19:14
2003.05.22
Нужен компонент для реадактирования исходного кода с наворотами.




   Наверх