首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QSqlQuery不工作

QSqlQuery不工作
EN

Stack Overflow用户
提问于 2017-09-29 12:00:10
回答 1查看 1.6K关注 0票数 1

因此,我有这个问题,基本上,我不能执行我的QsqlQuery。我连接到一个SQLite数据库,我已经检查它是否真的连接了。

代码语言:javascript
复制
QString databaseName = QFileDialog::getOpenFileName(this,tr("Open database"),
                                                        "",
                                                        tr("Databáze (*.db)"));
mydb = QSqlDatabase::addDatabase("QSQLITE");
mydb.setDatabaseName("databaseName");

if (!mydb.open()) {
    ui->statusBar->showMessage("Databáze nebyla připojena!",2000);
    databaseCheck = false;
}
else if (mydb.open()) {
    ui->statusBar->showMessage("Databáze byla úspěšně připojena.",2000);
    databaseCheck = true;
}

这是设置数据库连接的Mainwindow.cpp代码的一部分。数据库是在mainwindow.h中声明的,所有的功能都在这一部分中运行。

这里我得到一个表单,它返回一些关于我想要在数据库中创建的雇员的数据。databaseCheck是一个bool,它告诉我数据库是否连接正确。在这种情况下,这些变量namesurname等在mainwindow.h中声明为QString

代码语言:javascript
复制
if (databaseCheck) {
    form = new Form(this);
    form->setWindowTitle("Formulář informací o zaměstnanci.");
    form->exec();

    name = form->getName();
    surname = form->getSurname();
    id = form->getId();
    date = form->getDate();
    telephone = form->getTelephone();
    salary = form->getSalary();
    state = form->getState();

    QSqlQuery query(mydb);
    query.prepare("INSERT INTO employees (jmeno,prijmeni,datumnarozeni,telefon,plat,stav) "
                      "VALUES (:name, :surname, :date, :telephone, :salary , :state)");
    query.bindValue(":name", name);
    query.bindValue(":forename", surname);
    query.bindValue(":date", date );
    query.bindValue(":telephone", telephone);
    query.bindValue(":salary", salary);
    query.bindValue(":state", state );
    query.exec();
}

在我用有关员工的一些数据填写表单并接受它之后,它不会向数据库发送任何内容。我正在使用DB浏览器检查数据库中的SQLite,而表employees完全是空的。有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-29 14:02:42

您的SQL似乎是正确的,最好的方法可能是编写类似的东西。

代码语言:javascript
复制
if (!query.exec())
      qDebug() << query.lastError();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46488381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档