Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
1

Field ' ' cannot be modified

02.02.2015, 19:45. Показов 3828. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.
у меня есть 3 таблицы paradox 7:
1 таблица - 1.png
2 таблица - 2.png
3 таблица схожа с первой.
в Delphi я создаю связь между этими таблицами.
связываю поле главной таблицы 2 "idklientov" с полем подчиненной таблицы 1 "KeyPok" и связываю поле главной таблицы 2 "idtovara" с полем подчиненной таблицы 3 "key".
Проблема в том что при каких либо изменений (Добавление, Удаление, Изменения) в dbgrid таблицы 1 и 3 вылетает ошибка "Field "Поля" cannot be modified", но дело в том, что я не трогаю ключевые поля, искал решения проблемы в интернете, без успешно.
Опишите подробней в чем проблема и как её решить.
Я знаю что проблема в том что изменяется ключевое поле, но я его не трогаю вообще.
Миниатюры
Field ' ' cannot be modified   Field ' ' cannot be modified  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2015, 19:45
Ответы с готовыми решениями:

Ошибка field '.' cannot be modified
Здравствуйте! Помогите, пожалуйста. Помогите сообразить, что не так. Не могу добавить новую запись...

Field cannot be modified
Не могу понять в чем дело!!!Есть 2 таблицы.Первая основная, вторая подчиненная. Во второй таблице...

Ошибка "A field initializer cannot reference the non-static field, method, or property"
Здравствуйте,объясните пожалуйста,почему возникает ошибка:"A field initializer cannot reference the...

Условие выборки select * from table, table1 where table.field like table1.field+'%'
Как в Оракле в условие выборки поставить такое: select * from table, table1 where table.field like...

23
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
02.02.2015, 21:20 2
Цитата Сообщение от Ssnake707 Посмотреть сообщение
Field "Поля"
Чего-то я нигде на скриншотах не вижу поле "Поля".
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
02.02.2015, 21:26  [ТС] 3
northener, это имелось ввиду, что вместо "поля" будет KeyPok если редактируем таблицу 1 или Key если редактируем таблицу 3
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
02.02.2015, 22:19 4
Тогда показывай как редактируешь.
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
02.02.2015, 22:33  [ТС] 5
northener, при помощи dbgrid, код не использую, использовал компоненты table и datasourse и так же пробовал заполнять таблицы программно тот же эффект.
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
02.02.2015, 22:44 6
Цитата Сообщение от Ssnake707 Посмотреть сообщение
при помощи dbgrid
Поле KeyPok в гриде видно?
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
02.02.2015, 22:47  [ТС] 7
да в dbgrid он виден, я так же пробовал убирать его при помощи visible в table
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
02.02.2015, 22:52 8
Цитата Сообщение от Ssnake707 Посмотреть сообщение
да в dbgrid он виден, я так же пробовал убирать его при помощи visible в table
Не так убирал. Свойство visible тут не поможет. Список полей показываемых в гриде можно сформировать одним из двух способов:
1. Составить список колонок (свойство Columns) в гриде. Найдешь в Инспекторе объектов
2. Список полей ( свойство Fields) набора данных связанных с гридом. Его редактор появляется после двойного щелчка ЛКМ по значку Table в дизайнере формы.
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
02.02.2015, 22:56  [ТС] 9
northener, Если вы говорите о том что бы удалить его из списка в table, то нарушится связь таблиц т.к. по этому полю я связываюсь с таблицей 2
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
02.02.2015, 23:20 10
Цитата Сообщение от Ssnake707 Посмотреть сообщение
Если вы говорите о том что бы удалить его из списка в table
Я говорю о списке полей показываемых в гриде в данный момент времени. О покушении на структуру самой таблицы(таблиц) речи никакой не идет.
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
02.02.2015, 23:28  [ТС] 11
1. Составить список колонок (свойство Columns) в гриде. Найдешь в Инспекторе объектов
Эмм.. если я правильно понял, то нужно убрать в editing colums у dbgrid поля KeyPok, если я правильно понял, то все ровно ошибка остается или я неправильно понял и прошу подробно объяснить что вы имеете ввиду.
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
02.02.2015, 23:37 12
Цитата Сообщение от Ssnake707 Посмотреть сообщение
если я правильно понял, то нужно убрать в editing colums у dbgrid поля KeyPok
Я имел ввиду вот это Creating Persistent Columns
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
02.02.2015, 23:44  [ТС] 13
Цитата Сообщение от northener Посмотреть сообщение
Я имел в виду вот это Creating Persistent Columns
Я пробовал убирать это поля из dbgrid через свойство columns и не помогло.
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
02.02.2015, 23:48 14
А не задействованы ли какие-либо события TTable?
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
02.02.2015, 23:54  [ТС] 15
Цитата Сообщение от northener Посмотреть сообщение
А не задействованы ли какие-либо события TTable?
Нет
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
02.02.2015, 23:57 16
Ну тогда спрошу про то как ты
Цитата Сообщение от Ssnake707 Посмотреть сообщение
в Delphi я создаю связь между этими таблицами.
?
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
03.02.2015, 00:18  [ТС] 17
таакс.
у меня есть 3 таблицы, их описал я в начале.
суть заключается в том что, у меня есть склад товаров и покупатели, таблица 1 это покупатели, таблица 3 это товары и таблица 2 это покупки, мне нужно организовать такую связь что бы хранить информацию о продаж, так как один покупатель (клиент) может приобрести любое количество разных товаров, и для того что бы, эти все товары хранить я создал таблицу 2, где есть поля: idKlienta и Idtovara они числового типа и эти поля таблицы 2 я связал, поля idklienta таблицы 2 с полем KeyPok таблицы 1, KeyPok автоинкрементное поле и ключевое, так же я связал поля idtovara таблицы 2 с полем Key таблицы 3, Key автоинкрементное поле и ключевое, это я написал на тот случай, если у меня БД неправильная.
Связал я их так
Table1 это таблица 1
Table2 это таблица 2
Table3 это таблица 3
у Table1 в свойстве masterSource указал datasource2 то есть таблицу 2, а в свойстве MasterFields указал поля idklienta и в итоге у меня появилась связь KeyPok->idklienta, аналогично сделал с table3 только указал поля Key->IdTovara
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
03.02.2015, 00:44 18
Имхо, во время редактирования Таблицы 1 нужно разрывать её связь с таблицей 3. И аналогично для таблицы 2.
0
8 / 8 / 11
Регистрация: 02.02.2015
Сообщений: 140
03.02.2015, 01:00  [ТС] 19
Цитата Сообщение от northener Посмотреть сообщение
Имхо, во время редактирования Таблицы 1 нужно разрывать её связь с таблицей 3. И аналогично для таблицы 2.
Разве это правильный выход из ситуации? разрывать их связь для заполнения и вообще это правильно так делать? ведь ошибки такой не должно быть, связал вроде правильно.
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
03.02.2015, 01:19 20
Цитата Сообщение от Ssnake707 Посмотреть сообщение
Разве это правильный выход из ситуации? разрывать их связь для заполнения и вообще это правильно так делать? ведь ошибки такой не должно быть, связал вроде правильно.
Ну смотри что получается. Если открыта мастер таблица (Таблица 3), то в ней активна некая запись. С некоторым значением idklienta. В соответствии со связью Master-Detail в таблице 1 обязана быть выбрана запись с KeyPok=idklienta. Но при, допустим, добавлении новой записи в Таблицу 1 текущая запись в ней меняется на вновь добавленную. А у нее другое значение KeyPok.

Добавлено через 6 минут
Т.е. Связь Master-Detail нужна только при работе с мастер таблицей.

P.S. Могу и ошибаться. Никогда не использовал такую связь таким образом.
0
03.02.2015, 01:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2015, 01:19
Помогаю со студенческими работами здесь

@modified
@Modified как в представлении из этого поля достать только дату без времени :wacko:

If-Modified-Since
Как можно средствами VB.NET выдать в ответ на If-Modified-Sinse что страница изменилась?

Last-Modified
Последуют ли какие-либо санкции, если на динамическом сайте скриптом отдавать Last-Modified текущую...

last modified
Сервер нормально отдаёт заголовок Last Modified для .htm страниц, но не отдаёт для .php страниц......


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru