Форум: "Базы";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
ВнизИндексы Найти похожие ветки
← →
Фагот (2003-09-15 10:26) [0]Здравствуйте!
Вопрос такой. В ИБ таблице я строю вторичный индекс по Date-полю. В IBTable устанавливаю связь Master-Detail по полю Integer. В подчинённой таблице имя индексного воля автоматически ставится поле, по которому идёт мастер-детайл. При попытке поменять индексное поле выдаётся ошибка "Dinamic SQL Error.
SQL Error Code=-303 conversion error from string "1". Связь мастер-детайл при этом теряется... Может нужно мастер-детайлное поле включить в общий индекс с датой?
← →
stud (2003-09-15 10:32) [1]кажется в тейблах иастер-детайл строится по существующим индексам. а почему не использовать для этой цели ibquery??
← →
Фагот (2003-09-15 10:35) [2]По поводу IBQuery. Мне просто необходимо вносить изменения прямо в гриде. База небольшая, поэтому торможение при использовании Тэйбла не будет. При использовании IBQuery придётся вносить ещё несколько форм редактирования, а это очень неудобно. Может есть решение, которого я не знаю?
← →
Фагот (2003-09-15 10:37) [3]> кажется в тейблах иастер-детайл строится по существующим
> индексам
На мастер-детайлное поле индекса нет, но связь строится. Наоборот, на то имя, на которое нужна сортировка индекс есть.
← →
stud (2003-09-15 10:44) [4]так лучше создай индексы на поля, по кторорым связь строится.
← →
Фагот (2003-09-15 11:22) [5]Создеал... Ничего...
← →
stud (2003-09-15 11:24) [6]че-то я не понял, индексное поле зачем менять?
или какие действия ты выполняеш?
← →
Фагот (2003-09-15 12:03) [7]
> stud
Ещё раз объясню - связь мастер-детайл идёт по полю "А". Сортировка в таблице должна быть по полю "Б". При установке мас-дет. по плю "А" индексное поле автоматически ставится "А", при попытке выставить индексное поле "Б" выдаётся ошибка (см. выше)
← →
stud (2003-09-15 12:13) [8]ф фильтры пробовал?
← →
Deniz (2003-09-15 12:30) [9]Не мучся с IBTable. Через IBQuery можно так же легко все редактировать в Grid"е, например CachedUpdates + UpdateObject. Разница только в том, что еще придется в некоторых местах написать IBQuery1.ApplyUpdates или IBQuery1.CancelUpdates по необходимости.
← →
Фагот (2003-09-15 13:15) [10]
> же легко все редактировать в Grid"е
Отсюда поподробнее..., если можно...
← →
stud (2003-09-15 13:21) [11]переводиш квери в кэшированные изменения, редактируеш грид, когда надоело вызываеш, applyupdates
← →
Фагот (2003-09-15 13:40) [12]
> переводиш квери в кэшированные изменения, редактируеш грид,
> когда надоело вызываеш, applyupdates
Но когда грид связан с квери он не даёет редактировать грид!
← →
Deniz (2003-09-15 14:26) [13]А ты попробуй проставь все св-ва, которые я перечислял, мож получится?
← →
stud (2003-09-15 14:44) [14]requestlive=true
и все нормально.
хотя подумай, действительно ли нужно редактировать именно в гриде? может лучше отдельную формочку для ввода, или скажем панель под гридом - и безопасней и мороки меньше
← →
Deniz (2003-09-15 14:53) [15]Нет в IBQuery > requestlive
← →
stud (2003-09-15 15:01) [16]точно, точно, лучше использовать датасет
← →
sewer1 (2003-09-15 16:01) [17]Так индек создавай не по полю Б, по по полям АБ. Именно в такой последовательности. Когда индекс сделан толкьо по полю Б, то таблица сортируется именно по нему и естесвтенно вся связь поля А теряется.
← →
Фагот (2003-09-15 16:08) [18]
> sewer1
Спасибо! Просто и понятно, а главное, в точку!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c