qsqltablemodel不兼容的数据类型

时间:2015-01-05 07:54:40

标签: qt ssms qsqltablemodel

我有一个简单的表单,带有按钮和一些行编辑和列表视图。 在listview中,用户可以选择项目并在行编辑中编辑其参数。

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."

1 个答案:

答案 0 :(得分:0)

我知道这个问题已经有2年了,但是当我尝试在其他应用程序中执行此操作时,我找到了一个解决方案。所以这可能对任何想要谷歌的人都有用。

  

数据类型 varchar(max) ntext 不兼容

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