|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Join-запрос внутри ADODataSet с последующим изменением записей
Вопрос скорее из серии "реально ли...", а не "как".
Инструменты: MySQL DB, ADO, MySQL ODBC Connector 5.3 (в качестве драйвера соединения) Есть простой запрос в несколько JOIN'ов, которым в ADODataSet запихиваются данные. Для примера: пусть будет таблица Документы и таблица Контрагенты, связанные по: Документы.КонтрагентID = Контрагент.ID. в ADODataSet выполняется запрос: Код:
SELECT Контрагенты.ID AS КонтрагентID, Контрагенты.Название AS контрагентНазвание, Документы.ID AS ДокументID, Документы.КонтрагентID AS ДокументКонтрагентID, Документы.Номер AS ДокументНомер FROM Контрагенты JOIN Документы ON Документы.КонтрагентID = Контрагенты.ID У меня задача, дать пользователю возможность изменить владельца документа из интерфейса программы. Делаю я это вызовом диалогового окна, где просто меняется значение Документы.КонтрагентID: Код:
ADODataSet.Edit; ADODataSet['ДокументКонтрагентID'] := новыйКонтрагентID; ADODataSet.Post; Но в момент ADODataSet.Post появляется ошибка: Цитата:
Исходя из информации гугла, суть оказалась в том, что ADO криво обрабатывает вот это выражение из запроса: Код:
ON Документы.КонтрагентID = Контрагенты.ID Так вот, реально ли как-то заставить этот механизм работать? И может быть у кого-то есть рабочий пример с подобными махинациями? |