这种情况下,多半是由于QT在升级的过程中,导致数据库或连接的路径出现了问题.需要将该软件卸载之后,重新装载相关软件,便能恢复相关的路径和注册。
逐步排除:
数据库打开成功了没?
数据库查询语句执行成功?
显示项工作正常?
比如这样:
dataBase.setDatabaseName("D:\\ScanCode.db");//设置数据库路径及名称
if(!dataBase.open()) //打开数据库qDebug()<<"dataBase open error"<
qDebug()<<"dataBase open success"
之前用sqlite数据库+qt写的一个小程序,查询显示没啥问题。显示用QTABLEView
你可以搜一下:
QT+Halcon+SQLite 实战系列(1)
我可以把显示这块代码发出来你可以参考一下
itemModel=new QStandardItemModel(this);
dataShow=new QTableView(this);
//QString::Fromlocal8bit、fromUtf8-》解决中文乱码问题,取决于本地qt使用什么字符集
dataShow->setEditTriggers(QAbstractItemView::NoEditTriggers);
itemModel->setColumnCount(3);
itemModel->setHeaderData(0,Qt::Horizontal,"码");
下面是查询加设置显示数据项
bool status=mySql.exec("select 编号,所属B,二维码 from A");
QSqlRecord recordBag=mySql.record();
if(true==status)
qDebug()<< recordBag.count();
else
qDebug()<<"browse error";
int i=0,j=0;
//读取、显示
while(mySql.next()){
QString num=mySql.value(0).toString();
itemModel->setItem(i,j,new QStandardItem(num));//不设置字符格式-》中文乱码
num=mySql.value(1).toString();
itemModel->setItem(i,j+1,new QStandardItem(num));
num=mySql.value(2).toString();
itemModel->setItem(i,j+2,new QStandardItem(num));
i++;
}