Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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. В моем случае работает почти мгновенно. Если конечно не обращать внимание на большое время инициализации.

А вообще спасибо за информацию. Буду думать. Если получится ;).




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.016 c
6-19270           Cepera                2001-12-04 01:26  2002.03.07  
Дьявольские API функции для посчета траффика


3-19101           Cossys                2002-02-11 10:00  2002.03.07  
QReport - нужна помощь!


3-19053           Владимир 2            2002-02-06 15:40  2002.03.07  
Ошибка AccessViolation при попытке посчитать записи методом RecordCount


1-19186           MaXie                 2002-02-18 15:46  2002.03.07  
Группа элементов -> один параметр


14-19345          fliz                  2002-01-24 12:15  2002.03.07  
кто что о ТВ6 думает?