![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
добавление записи в Grid
billybons © (2002-07-31 09:44:00)Ув. асы делфи , не пойму куда надо грамотно засунуть обработчик добавления записи в таблицу, которая связана с некоей родительской с пом. поля/индекса ? После добавления/редактирования записи в Grid-e ругается "Index is read only"
Помогите плз, заранее благодарен за любой ответ.
billybons (2002-08-01 15:52:00) [1]
> Anatoly Podgoretsky
> Lord Warlock
ладно ребята буду копать ключи огр. спасибо за помощь , сегодня больше времени нет -бежать надо. Еще раз спасибо
Lord Warlock (2002-08-01 15:49:00) [2]И еще одно - в Adr удали индекс (name+code) сделай автоинкрементное ключевоеполе ID, снова создай тот же индекс (вообще очень желательно в каждой таблице в парадоксе задавать первичный ключ - обеспечивает целостность данных). PrimaryKey задается звездочкой в последней колонке определения полей и поле должно идти первым(во избежании дальнейших вопросов :)
billybons (2002-08-01 15:46:00) [3]
> Lord Warlock
я, наверно некорректно описал связи - стрит то как раз и связан с адр по полю code , т.е. в св-вах стритовского Table ставятся
DM.Street_t.IndexName:="code_";
DM.Street_t.MasterFields:="code";
DM.Street_t.MasterSource:=adr_ds;
Anatoly Podgoretsky (2002-08-01 15:45:00) [4]billybons © (01.08.02 15:37)
Вот с этого надо было и начинать, сам напросился на Парадокс.
Что ты можешь сказать про первичные ключи своих таблиц.
Lord Warlock (2002-08-01 15:42:00) [5]
> billybons © (01.08.02 15:41)
Стрит с чем-нибудь связан?
billybons (2002-08-01 15:41:00) [6]
> Lord Warlock
да нифига
Lord Warlock (2002-08-01 15:39:00) [7]
> billybons © (01.08.02 15:37)
Работает?
billybons (2002-08-01 15:37:00) [8]
> Lord Warlock
черт возьми да где же грабли-то ... черт дернул попробовать на Paradox-овых базах писать.. Уверен, что на DBF все работало бы как трактор ....
Lord Warlock (2002-08-01 15:17:00) [9]Прокатал я твою ситуацию - что получилось:
Street - как есть, только если нужно по алфавиту - Name должно быть первое в индексе.
Adr - (тоже по алфавиту) - составной индекс name+codе, только code идет первым. В свойствах таблицы соединяешь по code из обоих индексов.
Соответстсвенно индексы проставляюся в св-вах indexname обоих таблиц. все работает и добавляется :)
billybons (2002-08-01 15:11:00) [10]
> Lord Warlock
не повлияло :-(
Anatoly Podgoretsky (2002-08-01 15:01:00) [11]Расшифровываю
гт хпртснй = ни записей
billybons (2002-08-01 14:51:00) [12]
> Anatoly Podgoretsky
я ессно не Grid-ы , а Table или , если угодно структуру баз описал
Lord Warlock (2002-08-01 14:51:00) [13]В таблице Adr для code сделай индекс (вторичный).
billybons (2002-08-01 14:49:00) [14]
> Anatoly Podgoretsky
не понял
Anatoly Podgoretsky (2002-08-01 14:47:00) [15]Что неверным одназнано, Grid гт хпртснй ни индексов не имеет, это устройства для отображения.
billybons (2002-08-01 14:45:00) [16]БД Paradox
billybons (2002-08-01 14:43:00) [17]Все просто до безобразия :
Adr(code,name,index) - индекс по name (name_),
связь со Street(code,name) - индекс по code+name (code_), организую связь с Adr по code
Lord Warlock (2002-08-01 14:38:00) [18]
> billybons © (01.08.02 14:35)
Приведи спсок полей (можно не всех а только ключевых) из обоих таблиц из заодно какая используется БД
billybons (2002-08-01 14:35:00) [19]
> Mike Kouzmine
В общем если я из-под делфей убираю у TTable описанные выше свойства, все работает ,как только организую связь с родительской - вылазит ошибка
Mike Kouzmine (2002-08-01 13:39:00) [20]А он где, на локальном диске, на сетевом. Если сетевой, есть ли права на запись? Если локално, то какая система? Если NT, то кем работаешь? и т.д.