Форум: "Базы";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];
ВнизКак программно получить список псевдонимов баз данных??? Найти похожие ветки
← →
MZ (2002-02-07 17:46) [0]Кроме того, как сделать чтобы при подключении базы данных через BDE не выскакивал запрос на имя пользователя и пароль???
Всем спасибо.
← →
Alextov (2002-02-07 19:43) [1]Да и как програмно получить список таблиц доступных в базе
← →
Mike_Goblin (2002-02-08 09:57) [2]1. Получение псевдонимов
Компонент TSession метод GetAliasNames(List: TStrings);
2. убрать окошко пароля при соединении- компонент TDatabase св-во LoginPrompt установить в false
3.
а) Список доступных таблиц алиаса
Компонент TSession метод GetTableNames
б) Спискок датасетов ассоциированных с базой (TDatabase)
у TDatabase есть свойство DataSets
4. Читать книги, хелп и исходники VCL&CLX до потери пульса, думать, думать, думать над прочитанным !!!!!!!
← →
MZ (2002-02-08 10:31) [3]Спасибо за информацию и добрый совет, я имею ввиду п.4 :).
А как можно оптимизировать процесс подлючения к базе данных. А то у меня инициализация занимает 3-5 минут.
База MS Access 2002 около 600000 записей, каждая байт 200-300, сам файл занимает около 50 Мбайт. Такое ощущение, что при коннекте к базе BDE создает то ли копию базы, то ли временый файл примерно такого же размера, что естественно и занимает довольно ощутимое время. Если приложение довольно часто запускать это сильно раздражает.
Как этого избежать?
← →
kserg@ukr.net (2002-02-08 10:31) [4]>Mike_Goblin
Уважаемый, подскажи - как выяснить путь к БД,
котр. прописан за конкретным алиасом BDE?
← →
Mike_Goblin (2002-02-08 12:26) [5]Ну дык
Базы,как Вы догодались, бывают двух типов: локальные и клиент-серверные
локальные
TDatabase.Directory или параметр(параметры живут в TDatabase.Params) с именем PATH
клиент серверные
для Interbase - параметр SERVER_NAME, для других серверов имя этого параметра может быть другим - тогда смотрите в BDE Administrator как он обозван
см. п4 - в хелпе это все расписано....
← →
Mike_Goblin (2002-02-08 12:27) [6]MZ, плиз код инициализации в студию...
← →
MZ (2002-02-08 15:04) [7]Да у меня все "по-лоховски" простенько. Взял компонент TTable, в property выбрал псевдоним, таблицу. А в коде, собственно, делаю только Active в true. После чего комп задумывается на несколько минут.
Может быть есть более правильные методы, но, к сожалению, мне они не известны. Кстати, в TTable свойство Database и естественно LoginPromt - readonly. Как мне лучше поступить?
← →
Mike_Goblin (2002-02-08 15:36) [8]>Кстати, в TTable свойство Database и естественно LoginPromt - >readonly.
Неправда Ваша - в TTable вообще нет LoginPromt, и вообще причем тут TTable - вроде как речь шла о TSession и TDatabase
Ход мыслей
>Взял компонент TTable, в property выбрал псевдоним, таблицу. А >в коде, собственно, делаю только Active в true
И сразу закачиваю 600000 записей по 200-300 байт, которые пользователь никогда не сможет просмотреть одновременно в память (какой объем памяти займет выборка?) от этого у меня случаются тормоза, какой отсюда вывод? Подумай, полистай книжки...
>Может быть есть более правильные методы, но, к сожалению, мне >они не известны
Есть и сводятся они к одному - работать с небольшими выборками данных, которые пользователь может увидеть и осознать.
← →
MZ (2002-02-08 21:49) [9]Спасибо на добром слове. Совет довольно туманный ...сводятся они к одному - работать с небольшими выборками данных... Где критерий небольшой выборки? И как это сделать, если мне надо иметь возможность просмотреть любую запись из базы и лишь изредка отобрать нужные по критерию. Я пробовал писать SQL-запросы, но эта штука тоже не из быстрых. Мне больше понравился вариант использования свойтсва Filter. В моем случае работает почти мгновенно. Если конечно не обращать внимание на большое время инициализации.
А вообще спасибо за информацию. Буду думать. Если получится ;).
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c