Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-18547
Jason
2003-09-16 14:59
2003.10.06
О том, как Виктория Коркина с Анютой Наколкиной беседовали...


14-18576
Анатолий
2003-09-18 10:52
2003.10.06
CanClose


6-18493
spogi
2003-08-11 03:01
2003.10.06
клиент-сервер + сокеты...


1-18304
Sprite
2003-09-20 19:42
2003.10.06
Как таскать Label по форме


14-18639
Сатир
2003-09-16 20:34
2003.10.06
глюк





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский