|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.03.2012, 07:28 | #1 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Как добавить новую запись в ADOTable, не используя DBNavigator?
Здравствуйте.
База Access. Подключаюсь через ADOConnection. Есть родительская таблица CODE_FIO_worker с полями: Code: счётчик и FIO: строка; так же есть дочерняя таблица CODE_PHOTO с полями: CODE: счётчик и PHOTO: OLE-поле. Для таблиц настроил связи через MasterSource и MasterField (CODE_FIO_worker.CODE-->CODE_PHOTO.CODE). Пытаюсь добавить в CODE_PHOTO новую запись таким образом: Код:
Но вместо новой N записи редактируется самая первая запись. Попытался глянуть число записей в CODE_PHOTO Код:
И вот спрашивается, как добавить новую запись в дочернюю таблицу CODE_PHOTO? Заранее благодарен за любую помощь.
Если помог, проси поставить минус. Будь оригинален!
|
14.03.2012, 10:28 | #2 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
Честно логику не понял, зачем поле CODE = счётчик ?
скорее это должен быть внешний ключ, почему просто запросом не добавить сразу с Фото?? Код:
Это при условии что я правильно понял. Последний раз редактировалось vovk; 14.03.2012 в 15:25. |
14.03.2012, 13:46 | #3 | |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Спасибо, Vovk, что откликнулись.
В этом коде должно быть code_ или code? Код:
Скорей всего ругается на параметрическую переменную code, у которой DataType=ftInteger (при выставлении ftAutoInc значение само меняется на ftInteger). А если написать так - Код:
"Project Project1.exe raised exception class EDataBaseError with message 'SQL_ZAPROSarameter 'code' not found" Цитата:
P.S. Забыл сказать, в Access я тоже создавал связи.
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 14.03.2012 в 14:48. |
|
14.03.2012, 15:29 | #4 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
Извините, конечно же это опечатка, и должно быть так
Код:
Если так и должно быть, то в запросе его вообще указывать не надо, и запрос будет выглядеть так Код:
Мне представляется что должно быть как то так: Если у человека может быть несколько фотографий, то в таблице CODE_PHOTO создайте отдельно первичный ключ, а поле CODE используйте как внешний ключ ссылку на поле CODE в таблице CODE_FIO_WORKER Если фото только 1, то сделайте поле CODE в таблице числовым первичным ключом (не автоинкрементное, которое счётчик а просто числовое целое или какой там тип используется в в акцесс для автоинкрементных полей? длинное целое?), и опять же используйте как внешний ключ ссылку на поле И в том и в другом случае пользуемся запросом Код:
Последний раз редактировалось vovk; 14.03.2012 в 15:52. |
15.03.2012, 13:51 | #5 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Спасибо огромное, vovk.
На счёт "code is not valid integer value" - мой косяк. Прошу прощения , что ввёл вас в заблуждение. У меня поле ввода на другой форме лежало, и скопировав ваш код, забыл приписать принадлежность определённой форме. Репутацию уже добавлял и не могу пока что добавить ещё. Но обещаю, как только добавлю ещё-кому-то, сразу же добавлю вам После того, как дописал принадлежность форме, все заработало. С помощью SQL-запроса разрешено добавлять значение даже в счётчик (AutoInc). Кстати, если в T_CODE_PHOTO:TADOTable убрать связи ( то есть MasterSource и MasterField), то код Код:
Благодарю ещё раз.
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 15.03.2012 в 14:01. |
15.03.2012, 14:07 | #6 | ||
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
Цитата:
Цитата:
|
||
15.03.2012, 17:43 | #7 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Просто это для меня было ново, вот и решил поделиться открытиями))).
Если помог, проси поставить минус. Будь оригинален!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
(С++) как добавить в файл запись | PotatoCaptain | Помощь студентам | 6 | 06.06.2014 23:12 |
Dataset - как создать новую пустую запись? | delphicoding | Общие вопросы Delphi | 4 | 11.09.2011 13:59 |
Как добавить новую страницу на движке Kinokpk releaser | shevron | PHP | 2 | 04.09.2011 22:17 |
как удалить строку из combobox, если такая уже есть и добавить в начало новую? | codermoder | Общие вопросы Delphi | 6 | 14.01.2011 17:33 |