![]() |
|
|
![]()
|
|
| polesye |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.9.2006 Репутация: нет Всего: нет |
Помогите решить такую проблемку.
Есть две таблицы Paradox 7.0 связанные отношением Master-Detail. При попытке изменить таблицу Detail выдается ошибка Index Read-Only. Доступ к таблицам через TTable. Вопрос: как добавить данные в таблицу? |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
А с помощью запроса не пробовал???
|
|||
|
||||
| Foley |
|
|||
![]() Фсемба Яцца ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 31.1.2006 Где: Россия, Арх.обл Репутация: нет Всего: 7 |
Я так думаю, что это из-за индексов, надо как-то подробней освятить проблему. Может ты индексное поле хочешь изменить, а оно у тебя автоинкрементное, поэтому и ошибка.
|
|||
|
||||
| polesye |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.9.2006 Репутация: нет Всего: нет |
Таблица обычная, имеет только вторичный индекс для организации связи. Эта ошибка возникает только при связаных таблицах и не важно какое поле я меняю.
SQL мне не подходит, нужно все переделывать, хотя если это поможет, то можно попробовать. Сейчас код добавления новой записи такой: Base_rash.snrash.Open; Base_rash.snrash.Filtered:=False; if Base_rash.snrash.ReadOnly then Base_rash.snrash.ReadOnly:=False; Base_rash.snrash.Last; Base_rash.snrash.Append; Base_rash.snrashNUM_NAKL.Value:=Base_rash.naklNUM_NAKL.Value; Base_rash.snrashPROVODKA.Value:=false; После вызова метода Post вылазит ошибка. Если менять данные в DBGrid, тоже самое. Дело в том, что все это работало на DBase, но терялись данные (индексы не обновлялись) при большом количестве ввода новых, поэтому я решил попробовать Paradox. |
|||
|
||||
| polesye |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.9.2006 Репутация: нет Всего: нет |
Спасибо всем за участие, но я уже нашел решение.
Добавил в подчинённую таблицу лишнее поле, пометил его как ключевое. Потом пометил вторичный индекс связи как Maintained и все заработало. Хотя я слышал, что и у Paradox есть проблемы с индексами может посоветуете какой тип баз данных выбрать. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |