Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Borland c++ Builder и Access2000

15K
20 сентября 2006 года
sdf
8 / / 14.09.2006
Подскажите, пожалуйста! Для связи с базой данных используется ADO Connection. Как настроить свойство ConnectionString программно? И почему запись в БД (Access) происходит так медленно (используется метод ADD через запрос SQL)? Как убыстрить программное добавление в БД (тип Access)?
309
20 сентября 2006 года
el scorpio
1.1K / / 19.09.2006
Цитата:
Как настроить свойство ConnectionString программно?


Формируешь строку, потом заменяешь именяемые параметны на символы подстановки (%s, %d и другие - см. хелп по функции Format)
Далее делаешь так

 
Код:
const AnsiString csConn = "Изменённая сторка подключения";
//.........................

TForm1::ConnectTo (Параметры_Подключения)
{[INDENT]
ADOConn->Connected = false; // Разрываем существующиее соединение
ADOConn->ConnectionString = AnsiString::Format (csConn, ARRAYOFCONST ((Параметры_подключения)); // Формируем строку подключения с указанными параметрами
ADOConn->Connected = true; // Подключаемся к указанной БД
[/INDENT]}
246
21 сентября 2006 года
GIZMO
1.8K / / 30.07.2004
[QUOTE=sdf] почему запись в БД (Access) происходит так медленно (используется метод ADD через запрос SQL)?[/QUOTE]
Потому, что ADO это тормоз. Скачай IB6 он бесплатный и с исходниками и работай.
294
21 сентября 2006 года
Plisteron
982 / / 29.08.2003
Тормоз в данном случае не ADO, а Jet DB Engine, более известный как Access. Присоединяюсь к GIZMO в плане совета выбросить нафиг Access, но, кроме Interbase можно ещё присмотреться к PostgreSQL, а если много ресурсов, а тем паче есть выделенный сервер, то можно и Oracle Express. Последний хоть и не в сырцах, но тоже бесплатный и тоже может похвастаться кучей разных библиотек прямого доступа, и быстрее Interbase раза в 3. Кстати, Micro$oft уже давно присвоила движку Jet статус Deprecated.
294
21 сентября 2006 года
Plisteron
982 / / 29.08.2003
И всё-таки: как запись добавляется? Код в студию!
309
21 сентября 2006 года
el scorpio
1.1K / / 19.09.2006
Цитата:
И почему запись в БД (Access) происходит так медленно (используется метод ADD через запрос SQL)?


Может, поменьше индексов в таблице делать?

Кстати, насчёт запросов SQL - есть один вариант.
Создаётся запрос в самом Access, запоминается его имя.
Далее, запрос без параметров вызывается по имени через ADOTable, а запрос с параметрами - через ADOStoredPoc.
Плюсы очевидны:
1. минимум головняка с отладкой (не нужно каждый раз перекомпилировать приложение);
2. Не нужно в программе мучить StringList, формируя каждый раз новый текст запроса;
3. Есть удобная и наглядная среда разработки запросов :D ;
4. Можно с чистой совестью изменять структуру таблиц в базе - главное, чтобы имена запросов и полей в них оставались неизменными;
5. Имена используемых запросов можно записать отдельно, как строковые константы - не нужно будет просматривать по десять раз текстовые значения в коде программы. (а это, как известно, самый большой головняк, ибо компилятором не отслеживается:( )

2.1K
21 сентября 2006 года
mainigor
151 / / 21.10.2005
[QUOTE=el scorpio]Может, поменьше индексов в таблице делать?

Кстати, насчёт запросов SQL - есть один вариант.
Создаётся запрос в самом Access, запоминается его имя.
Далее, запрос без параметров вызывается по имени через ADOTable, а запрос с параметрами - через ADOStoredPoc.

Плюсы очевидны:
1. минимум головняка с отладкой (не нужно каждый раз перекомпилировать приложение);
2. Не нужно в программе мучить StringList, формируя каждый раз новый текст запроса;
3. Есть удобная и наглядная среда разработки запросов :D ;
4. Можно с чистой совестью изменять структуру таблиц в базе - главное, чтобы имена запросов и полей в них оставались неизменными;
5. Имена используемых запросов можно записать отдельно, как строковые константы - не нужно будет просматривать по десять раз текстовые значения в коде программы. (а это, как известно, самый большой головняк, ибо компилятором не отслеживается:( )[/QUOTE]

На мой взгляд эффективность StoredProc ощущается только если она выполнятся несколько раз подряд.

Уместно ещё узнать насколько велика будет эта база данных, каким образом работает (при массовых удалениях и вставках база невероятно пухнет и после этого медленно работает).
Среда для разработки - ничего, но бывает лучше ;).
Со временем в среде бываешь всё реже.
Я в своё время сделал базу с Access. Использовал сохраненные выборки с параметрами. Т.е. они у меня работали как View-ки . Потом когда встал вопрос перенести в FireBird - я не смог.
Вьюшку с параметром не вызовешь.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог