Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Подключение к InterBase
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Подключение к InterBase (Прочитано 8192 раз)
0 Пользователей и 1 Гость смотрят эту тему.
akylina
Гость
Подключение к InterBase
«
:
23-04-2007 04:07 »
Всем привет.
Господа знатоки, помогите пожалуйста начинающему. У меня такая проблема. Через Delphi подключаюсь к базе interbase. База открывается, но только для чтения. Как прописать открытие базы для модификации?
Записан
x77
Модератор
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
Re: Подключение к InterBase
«
Ответ #1 :
23-04-2007 11:48 »
База всегда открывается на чтение / запись. чтобы получить в дельфях read-only транзакцию - надо предпринять определённые телодвижения. а если сделать всё по умолчанию - то база будет открыта на чтение / запись.
но. подключение к базе состоит из нескольких этапов. во-первых, это сама база ( TIbDatabase). к ней цепляется транзакция (TIbTransaction). к транзакции цепляется один из потомков TDataSet - TIbQuery либо TIbTable. к ним, в свою очередь, цепляется источник данных - TDataSource. и вот уже к нему - один из db-aware визуальных контролов, например - TDbGrid.
в большинстве этих компонентов можно выставить свойство read-only в TRUE, получив, таким образом, базу, которую невозможно поменять. хотя технически, повторюсь, созданный запрос на изменения и скормленный напрямую в движок безо всяких борландовских компонентов - пройдёт ВСЕГДА, вообще говоря, ограничить запись на уровне подключения в IB - достаточно нетривиальная задача.
теперь, по вашему вопросу. первое, что приходит на ум - это то, что вы используете компонент TIBQuery (либо его Фибовский аналог). по умолчанию результат запроса (TIbQuery) - редактировать нельзя. Для простых запросов это решается установкой свойства RequestLive в TRUE. для сложных запросов - надо цеплять TUpdateSql и настраивать в нём запросы на модификацию / удаление данных.
альтернативы:
1. использовать TIbTable.
2. все изменения проводить отдельным запросом (TIbSql), после которого каждый раз переоткрывать основной запрос.
если у вас используется НЕ TIbQuery - то опишите подробно логику подключения (все компоненты, участвующие в "доставке" пользователю данных из БД.
Записан
я люблю shelek.ru
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Подключение к InterBase
Загружается...