qsqltablemodel 不兼容的数据类型

qsqltablemodel incompatible data types

我有一个带有按钮、一些行编辑和列表视图的简单表单。 在列表视图中,用户可以 select 项目和在线编辑编辑他们的参数。

int row = listView->selectionModel()->currentIndex().row();
QString text = lineEdit->text();
sqlTableModel->setData(sqlTableModel->index(row,3),title,Qt::EditRole);
sqlTableModel->submitAll(); //when this line is execeute i get an error

错误:

QODBCResult::exec: Unable to execute statement: "[Microsoft][SQL Native Client][SQL Server]The data types varchar(max) and ntext are incompatible in the equal to operator. [Microsoft][SQL Native Client][SQL Server]Statement(s) could not be prepared."

我知道这个问题已有 2 年历史,但当我尝试在其他应用程序中执行此操作时,我找到了解决方案。因此,这可能对 google 它的任何人有用。

The data types varchar(max) and ntext are incompatible

在数据库中我使用了数据类型ntext,但是Qt使用varchar。所以解决方案在我问题的第一条评论中,这是我 2 年前不理解的。唯一要做的就是将数据库中的数据类型更改为 varchar.