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

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

связь нескольких БД [D7, Paradox]


ij ©   (2003-01-26 21:46:00) 

есть две базы Paradox, связанные по автоинкрементным полям вторичным индексом. при добавлении записи к slave-базе выдает ошибку field is read only (про автоинкрементное поле). если связь убрать и добавить нужные записи, а после восстановить, то пишет, что index is out of date...

как с этим бороться?
подскажите пожалуйста.

И если не трудно, то как лучше всего осуществлять связь БД?


Mike Kouzmine   (2003-01-27 12:46:00) [1]

Не увеличивать. Ты скажи, что хочешь.


ij   (2003-01-27 12:43:00) [2]

ясно.

т.е. бде будет сам увеличивать значение этого поля у слэйва?


Mike Kouzmine   (2003-01-27 12:38:00) [3]

Связь мастар - автоинкремент, слэйв - целое значение равное значению автоинкремента мастера


ij   (2003-01-27 12:36:00) [4]

понял ошибку, спасибо.

а как можно связать две таблицы, если у них нет общих полей, а известно только то, что записи и в ту, и в другую должны вноситься одновременно, т.е. они будут всегда совпадать по номеру поступления в таблицу (по-этому и сделал по инкременту).


Mike Kouzmine   (2003-01-27 12:20:00) [5]

Смотри. Когда у тебя мастер-слэйв, при добавлении записи в слэйв таблицу и посте ее, бде сам заполняет поля по которым сделана связь значениями из мастер таблицы и в твоем случае что получается - попытка присвоить значение автоинкрементному полю.


ij   (2003-01-27 12:08:00) [6]

именно ее я и сделал...


Mike Kouzmine   (2003-01-27 11:49:00) [7]

Ни какой ошибки append давать не должен. (ну если ты по инкрименту слэйв таблици не сделал связь)


ij   (2003-01-27 11:40:00) [8]

ошибка появляется при попытке table.append добавить пустую запись ко второй таблице, а к первой добавляется без проблем.
а автоинкрементное поле должно увеличиться на единичку само.


может просто посоветуйте линк, где хорошо написано про связывание таблиц.


Mike Kouzmine   (2003-01-27 10:55:00) [9]

А ты что, автоинкременту пытаешься присвоить значение? Заодно и полю по которому таблицы связаны?


Suntechnic   (2003-01-27 08:45:00) [10]

>ij
Вот если бы тебе зарплату платили 1000 руб. вместо 1000$ ты бы тоже принципиальной разницы не видел? :)

P.S.
Это я не ради издевательства выступил, а что б ты задумался...


ij   (2003-01-27 08:35:00) [11]

Если быть точным, то таблицы (я только начал программировать бд и пока не вижу принципиальной разницы). в любом случае как осуществить то, что описал выше, подскажите пожалуйста.


MsGuns   (2003-01-26 23:47:00) [12]

БАЗЫ или ТАБЛИЦЫ ? Связь между БД по Мастер-Детал - это что-то новое в информатике (ИМХО, для меня) :)))


Наверх

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