![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Вопрос скорее из серии "реально ли...", а не "как".
Инструменты: 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 Так вот, реально ли как-то заставить этот механизм работать? И может быть у кого-то есть рабочий пример с подобными махинациями? |