Здравствуйте!
Пишу на C++ Builder xe
База данных MySQL
В БД есть таблицы связанные многие-ко-многим.
Например Преподаватели и Ученики. Каждый препод может обучать нескольких учеников, так же, как и все ученики могут обучаться разных преподов.
Задача состоит в том, чтобы из пользовательского интерфейса пользователь смог ввести данные преподавателя и прикрепить к этому преподавателю несколько учеников.
Проблема в том, что мне нужно знать id нового преподавателя, но запись ещё не сохранена, а выполнен только insert().
Пробую uniquery->LastInsertId: возвращает 0.
Пробовал ставить defaultvalues=true-не помогло .
Почему возвращается 0 и что можно сделать? Необходимо зарезервировать id. Что можно ещё попробовать ?
LastInsertId возвращает 0
Re: LastInsertId возвращает 0
При использовании связи master-detail, перед вызовом метода Post подчиненного датасета, вы обязательно должны вызвать метод Post у главного датасета. Также, пожалуйста, убедитесь, что у вас корректно заполнены свойства TMyQuery.MasterFields и TMyQuery.DetailFields у подчиненого датасета. Более подробную информацию об использовании связи master-detail, вы можете получить на нашем сайте: http://www.devart.com/mydac/docs/work_md.htm
Вы можете использовать CachedUpdates режим для detail таблицы, для возможности добавления данных для несуществующего преподавателя.
Если это не поможем вам в решении задачи, пожалуйста, составьте и вышлите нам небольшой пример, демонстрирующий проблему с помощью: https://www.devart.com/company/contactform.html, включая скрипты для создания и заполнения объектов БД.
Вы можете использовать CachedUpdates режим для detail таблицы, для возможности добавления данных для несуществующего преподавателя.
Если это не поможем вам в решении задачи, пожалуйста, составьте и вышлите нам небольшой пример, демонстрирующий проблему с помощью: https://www.devart.com/company/contactform.html, включая скрипты для создания и заполнения объектов БД.
Re: LastInsertId возвращает 0
Спасибо за помощь !
Re: LastInsertId возвращает 0
Спасибо за интерес к нашим продуктам.
Обращайтесь к нам, если у Вас возникнут вопросы по нашим продуктам.
Обращайтесь к нам, если у Вас возникнут вопросы по нашим продуктам.