当前位置: 首页 > 面试题库 >

sql数据库更改有任何qt信号吗?

黎苑博
2023-03-14
问题内容

我使用Qt编写了一个C
++程序。算法中的某些变量在程序外部和网页中已更改。每次用户更改网页中的变量值时,我都会修改一个预先创建的SQL数据库。现在,我希望我的代码在运行时更改变量值而不停止代码。有两种选择:

  1. 每n秒检查一次数据库并检索变量value->这不好,因为我必须每隔n秒检查一次数据库内容是否更改(多年来可能没有任何更改。而且我也不想检查数据库是否内容已更改)

  2. 每次更改数据库时,我的Qt程序都会发出一个信号,因此通过捕获该信号,我可以刷新变量值,这似乎是一个最佳解决方案,我想为此编写代码

我的代码的C ++部分是:

void Update Database()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("Mydataset");

    db.setUserName("user");
    db.setPassword("pass");

    if(!db.open())
    {
        qDebug()<<"Error is: "<<db.lastError();
        qFatal("Failed To Connect");
    }
    QSqlQuery qry;
    qry.exec("SELECT * from tblsystemoptions");
    QSqlRecord rec = qry.record();
    int cols = rec.count();
    qry.next();
    MCH = qry.value(0).toString();  //some global variables used in other functions
    MCh = qry.value(1).toString();
    // ... this goes on ...


}

问题答案:

哪有这回事。Qt事件循环和数据库没有以任何方式连接。您只需获取/更改/删除/插入/
…数据即可。选项1是您必须要做的。有多种方法可以在服务器端使用TRIGGER启动外部脚本,但这对您没有太大帮助。



 类似资料:
  • 本文向大家介绍Qt-处理Sqlite数据库,包括了Qt-处理Sqlite数据库的使用技巧和注意事项,需要的朋友参考一下 示例 在Project.pro文件中,我们添加:CONFIG += sql 在MainWindow.h我们写道: 现在在MainWindow.cpp:            

  • 本文向大家介绍Qt-处理ODBC数据库,包括了Qt-处理ODBC数据库的使用技巧和注意事项,需要的朋友参考一下 示例 在Project.pro文件中,我们添加:CONFIG += sql 在MainWindow.h我们写道: 现在在MainWindow.cpp:            

  • 我正在实现数据库侦听器功能,为此,我使用了oracle的接口。 我已经包含了对pom的正确依赖关系。xml 下载并驻留在类路径中。 但IntelliJ idea抱怨说, 变通方法 通过文件清除缓存|无效缓存/重启 删除。想法和其他IntelliJ相关文件并重新启动 删除整个. m2文件夹并重新导入 什么都帮不了我。 如果有人帮我解决这个问题,我将不胜感激。 提前谢谢。!!! 波姆。xml

  • 问题内容: 背景 我的小组有4个SQL Server数据库: Production UAT Testing Developer 我在开发环境中工作。当需要提升我一直在处理的对象(表,视图,函数,存储的过程)的时候,我向经理提出了要求,经理将其提升为Test。经过测试后,她向提升为UAT的管理员提交了请求。在成功进行用户测试之后,同一管理员将晋升为正式生产。 问题 出于某些原因,整个过程很尴尬。 每

  • 问题内容: 我正在尝试更改derby db列的数据类型。当前价格列设置为DECIMAL(5,0)。我想将其更改为DECIMAL(7,2)。我是这样做的: 但是它不起作用,并显示错误: 我可以知道如何进行更改吗?谢谢你。 问题答案: 这是Derby SQL脚本,用于将列MY_TABLE.MY_COLUMN从BLOB(255)更改为BLOB(2147483647):

  • 问题内容: 我在Windows 7上,对这个数据库东西有些陌生。我尝试在Google上搜索如何将时区从我的系统更改为UTC,但是文档有些高级,因此我不太确定如何更改此字段。 问题答案: 在my.ini文件的[mysqld]部分下,添加以下行: 重新启动服务器。您还可以在运行时从命令行使用以下命令进行设置 MySql的文档