Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно получить список псевдонимов баз данных??? [D5, MS Access]


MZ ©   (2002-02-07 17:46:00) 

Кроме того, как сделать чтобы при подключении базы данных через BDE не выскакивал запрос на имя пользователя и пароль???
Всем спасибо.


MZ   (2002-02-08 21:49:00) [1]

Спасибо на добром слове. Совет довольно туманный ...сводятся они к одному - работать с небольшими выборками данных... Где критерий небольшой выборки? И как это сделать, если мне надо иметь возможность просмотреть любую запись из базы и лишь изредка отобрать нужные по критерию. Я пробовал писать SQL-запросы, но эта штука тоже не из быстрых. Мне больше понравился вариант использования свойтсва Filter. В моем случае работает почти мгновенно. Если конечно не обращать внимание на большое время инициализации.

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


Mike_Goblin   (2002-02-08 15:36:00) [2]

>Кстати, в TTable свойство Database и естественно LoginPromt - >readonly.
Неправда Ваша - в TTable вообще нет LoginPromt, и вообще причем тут TTable - вроде как речь шла о TSession и TDatabase

Ход мыслей
>Взял компонент TTable, в property выбрал псевдоним, таблицу. А >в коде, собственно, делаю только Active в true
И сразу закачиваю 600000 записей по 200-300 байт, которые пользователь никогда не сможет просмотреть одновременно в память (какой объем памяти займет выборка?) от этого у меня случаются тормоза, какой отсюда вывод? Подумай, полистай книжки...
>Может быть есть более правильные методы, но, к сожалению, мне >они не известны
Есть и сводятся они к одному - работать с небольшими выборками данных, которые пользователь может увидеть и осознать.


MZ   (2002-02-08 15:04:00) [3]

Да у меня все "по-лоховски" простенько. Взял компонент TTable, в property выбрал псевдоним, таблицу. А в коде, собственно, делаю только Active в true. После чего комп задумывается на несколько минут.
Может быть есть более правильные методы, но, к сожалению, мне они не известны. Кстати, в TTable свойство Database и естественно LoginPromt - readonly. Как мне лучше поступить?


Mike_Goblin   (2002-02-08 12:27:00) [4]

MZ, плиз код инициализации в студию...


Mike_Goblin   (2002-02-08 12:26:00) [5]

Ну дык
Базы,как Вы догодались, бывают двух типов: локальные и клиент-серверные
локальные
TDatabase.Directory или параметр(параметры живут в TDatabase.Params) с именем PATH
клиент серверные
для Interbase - параметр SERVER_NAME, для других серверов имя этого параметра может быть другим - тогда смотрите в BDE Administrator как он обозван

см. п4 - в хелпе это все расписано....


MZ   (2002-02-08 10:31:00) [6]

Спасибо за информацию и добрый совет, я имею ввиду п.4 :).
А как можно оптимизировать процесс подлючения к базе данных. А то у меня инициализация занимает 3-5 минут.
База MS Access 2002 около 600000 записей, каждая байт 200-300, сам файл занимает около 50 Мбайт. Такое ощущение, что при коннекте к базе BDE создает то ли копию базы, то ли временый файл примерно такого же размера, что естественно и занимает довольно ощутимое время. Если приложение довольно часто запускать это сильно раздражает.

Как этого избежать?


kserg@ukr.net   (2002-02-08 10:31:00) [7]

>Mike_Goblin
Уважаемый, подскажи - как выяснить путь к БД,
котр. прописан за конкретным алиасом BDE?


Mike_Goblin   (2002-02-08 09:57:00) [8]

1. Получение псевдонимов
Компонент TSession метод GetAliasNames(List: TStrings);

2. убрать окошко пароля при соединении- компонент TDatabase св-во LoginPrompt установить в false

3.
а) Список доступных таблиц алиаса
Компонент TSession метод GetTableNames
б) Спискок датасетов ассоциированных с базой (TDatabase)
у TDatabase есть свойство DataSets

4. Читать книги, хелп и исходники VCL&CLX до потери пульса, думать, думать, думать над прочитанным !!!!!!!


Alextov   (2002-02-07 19:43:00) [9]

Да и как програмно получить список таблиц доступных в базе


Наверх

Титульная страница Поиск, карта сайта Написать письмо