Значения QDataWidgetMapper и QDateEdit

У меня есть QSqlTableModel с некоторой таблицей, давайте предположим, что это

model->setTable("Person");

А также у меня есть QDataWidgetMapper, который отображает некоторые виджеты (lineedits и т. Д.) На соответствующие столбцы в модели.
Так что проблема в QDateEdit элемент.

mapper->addMapping(birthEdit, Person_Birthdate);

Когда я меняю дату в birthEdit (QDateEdit) значения на самом деле не изменяются в соответствующей таблице, потому что они хранятся в другом формате, и я также получаю сообщение об ошибке:

"QODBCResult::exec: unable to bind variable: "[Microsoft][ODBC SQL Server Driver]...".

Дата в базе данных хранится в «Гггг-ММ-дд» в то время как QDateEdit возвращает дату в другом (я полагаю). Насколько я знаю QDataWidgetMapper использует свойство USER в отображенном виджете, чтобы получить / установить значение.

Как я могу решить мою проблему?

2

Решение

У вас есть два подхода в соответствии с следующая страница:

  • Подкласс QSqlRelationalDelegate и внесите соответствующие изменения в методы setEditorData и setModelData.

  • Расширьте QDateEdit, сделайте так, чтобы он обрабатывал данные меток времени и преобразовывал их в объект QDate.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]