作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只想处理数据库并将结果添加到模型并将其发送到另一个类并在 GUI 中查看。摘要代码为:
我有一个公共(public)类成员:
QSqlQueryModel *model;
加载数据并将其添加到模型并返回模型:
QSqlQueryModel* PersistenceAdapter::loadServerList(){
cout<<"Loading data"<<endl;
QSqlQuery* qry = new QSqlQuery(db);
qry->prepare("select * from student1.SERVERLIST");
model = new QSqlQueryModel();
model->setQuery(*qry);
return model;
}
在其他类(class)中,我有一个加载列表功能。错误来自这里:
void MainWindow::setServersList(QSqlQueryModel *myModel) {
widget.serverListView->setModel(myModel);
}
然后我从同一个类的构造函数中调用它,这里是代码:
MainWindow::MainWindow() {
//Stablish connection to database
PersistenceAdapter *p = new PersistenceAdapter();
setServersList(p->loadServerList());
}
错误是:
RUN FINISHED; Segmentation fault; core dumped; real time: 210ms; user: 10ms; system: 40ms
如果有人能提供帮助,我们将不胜感激。
最佳答案
您的代码中有几个错误。此外,这里有一些适合您情况的技巧:
model
成员被初始化/实例化? 要检查它,只需执行 if model!=NULL
检查。db
(在 PersistenceAdapter::loadServerList()
中)被实例化了吗? _要检查它,只需执行 if model!=NULL
查看。另外,检查该数据库是否已成功打开,并检查它是否 isOpen
在使用的时刻。请记住,您在进行多线程数据库访问时可能会遇到一些错误。QSqlQuery
, 而不是你可以使用另一个 setQuery
method .if (model.lastError().isValid()) qDebug() << model.lastError();
db
先于访问 db
等等。希望这些提示能有所启发。祝你好运!
关于c++ - 如何将一个简单的 QSqlQueryModel 从一个类返回到另一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23469054/
我是一名优秀的程序员,十分优秀!