ВГ
5 октября 2016 г. 12:10

Последний SQL запрос из QSqlRelationalTableModel

QSqlRelationalTableModel, Qt, query, SQL

Есть рабочая модель QSqlRelationalTableModel, мне нужен из нее последний выполненный query, то есть если мы обновили данные в базе, я хочу получить текст запроса этого обновления вида “UPDATE…”. После метода model->selectall(). Выполняю model->query.lastQuery() или model->query().executedQuery(), но получаю в ответ “SELECT …”, также пробовал выполнять до model->selectall(), но все равно получаю запрос вида “SELECT…”. Хотя в базу данных все кладется нормально, записи обновляются и добавляются, есть ли возможность получить текст самого запроса обновления, вставки?
0

Вам это нравится? Поделитесь в социальных сетях!

1
ВГ
  • 5 октября 2016 г. 20:51
  • Ответ был помечен как решение.

Вряд ли Вы получите запрос UPDATE. Поскольку, когда вы обновляете данные в таблице, то там выполняется запрос SELECT. То есть, вы обновили данные в БД, но в этот же момент нужно обновить данные в самой таблице, а это производится запросом SELECT, таким образом он и будет последним, чтобы Вы не делали. Это же самое касается и редактирования полей базы данных через QSqlRelationalTableModel.

Думаю, что Вам стоит поменять подход к этой задаче, например, написать собственную модель представления данных, где Вы сможете хранить требуемые Вам запросы отдельно от запросов обновления содержимого вида таблицы.

    Комментарии

    Только авторизованные пользователи могут публиковать комментарии.
    Пожалуйста, авторизуйтесь или зарегистрируйтесь