Я использую следующую цепочкуTClientDataSet ошибка «Попытка изменить поле только для чтения»
TADOQuerry->TDataSetProvider->TClientDataSet
для меня данные для элементов и элементов ItemType таблицы и работать с ним в автономном режиме. Пункт SQL свойство TADOQuery не содержится простой запрос
select i.ID,i.Name, i.TypeID, i.Qnty, i.Price, it.TypeName
from Items i join ItemType it on (it.ID = i.TypeID)
ItemType даже проще:
select * from ItemType
сейчас - для cdsItems я изменить TypeName поле, чтобы быть полем просмотровых и приковать его к cdsItemType - ничего необычного - и связал cdsItems с сеткой. Но когда я пытаюсь изменить данные с помощью combobox в сетке - это вызывает ошибку «Попытка изменить поле только для чтения».
Я установил для всех полей как TCliendDataSet ReanOnly: = false. Кроме того, после того, как я получил данные в TClientDataSets - используя for-I, я снова установил все поля ReadOnly: = False. Но даже я до сих пор получил «Попытка изменить поле только для чтения».
База данных - это MS SQL Server 2005 Express Edition.
Вы пытались установить значение «только для чтения» на false в полях ADOQuery? –
- как в дизайне, так и во время выполнения – DreadAngel
Когда вы изменили поле TypeName в cdsItems в поле поиска, вы также изменили запрос, чтобы больше не включать поле TypeName? –