![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() В программе используется ADO и БД Access. Запросы SQL необходимо хранить вне тела программы, чтобы была возможность их изменения без перекомпиляции. Хранить запросы в отдельных файлах - неудобно (при переносе программы на другой компьютер). MS Access дает возможность хранить запросы непосредственно в файле БД. Собственно вопрос: как использовать данную возможность из Delphi. Заранее спасибо.
|
#2
|
||||
|
||||
![]() Да так-же как и таблицы, через запрос. Только вместо "Create table ..."используется "Create view ..."
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Я, наверное, неправильно выразился. Мне надо файле Access хранить текст запроса. А в компоненту ADOQuery - подгружать его динамически. Из отдельного файла - это функция ADOQuery.SQL.LoadFromFile(), а как из файла Access загрузить текст запроса с определенным именем?
|
#4
|
||||
|
||||
![]() Если я правильно понял, то вам нужен исходный текст запроса для вьюшки сохраненной в базе. Не делал такого, но предположу что надо читать Description из схемы базы данных для вашего запроса.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
![]() Первое поле в таблице имя запроса, второе сам запрос (хотя я предпочитаю обращаться не по имени, а по индексу).
Тебе понадобиться такая функция: Код:
Код:
Google в помощь |
#6
|
||||
|
||||
![]() Нет, ему не это нужно. В Акцесовской БД есть объекты: Таблицы, Запросы.
Для доступа через ADO без разницы в этом случае таблица это или запрос т.к. они располагаются в одном пространстве имен, и получить вы сможете только структуру этих объектов т.е. перечисление полей их составляющих. Но ему-то нужно не просто перечисление, а именно исходный текст запроса. Хотя если он для хранения текста запросов использует свою табличку то вероятно вы правы. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 05.12.2011 в 16:42. |
#7
|
||||
|
||||
![]() Цитата:
Мне почему-то показалось, что ТС именно это имеет в виду. Как бы то ни было, данный мною метод весьма полезен, т.к. сам использую его в своем проекте. А если хранить запросы в квериках, то каждое изменение влечет обязательное обновление программы у всех пользователей, а эту операцию нежелательно выполнять крайне часто. Google в помощь |
#8
|
|||||
|
|||||
![]() Цитата:
Цитата:
Цитата:
Вот функция, может кому-то еще пригодится. Код:
Пример использования: ADOQuery1.SQL.Text:=GetSQLFromAcces(ADOConnection1 ,'MyTableSQL'); Последний раз редактировалось vdstud, 05.12.2011 в 18:43. |