代码改错,只显示修改部分:

void UsersWidget::on_modeComboBox_currentIndexChanged(int index)
{
    QString mode = ui->modeComboBox->currentText();
    emit modeChanged(mode);
}
connect(ui->modeComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged),
        this, &UsersWidget::on_modeComboBox_currentIndexChanged);
void updateSmartHomeStatus(int userId, QString deviceName, QString devicestate, QString newValue)
{
    Sqlite::sqlite_init();
    // 执行更新操作
    QSqlQuery query;
    query.prepare("SELECT * FROM Status WHERE uid = :userId");
    query.bindValue(":userId", userId);
    if (!query.exec()) {
        qDebug() << "查询id失败:" << query.lastError().text();
    }
    else {
        QString sql = QString("INSERT INTO Status (uid, device_name, device_state, value) VALUES (:userId, :deviceName, :devicestate, :newValue)");
        query.prepare(sql);
        query.bindValue(":userId", userId);
        query.bindValue(":deviceName", deviceName);
        query.bindValue(":devicestate", devicestate);
        query.bindValue(":newValue", newValue);
        if (!query.exec()) {
            qDebug() << "插入数据失败:" << query.lastError().text();
            return;
        }
    }
}
bool statusUid(int userId)
{
    Sqlite::sqlite_init();
    QSqlQuery query;
    // 查询智能家居状态表,获取用户对应的状态
    query.prepare("SELECT * FROM Status WHERE uid = :userId");
    query.bindValue(":userId", userId);
    if (!query.exec()) {
        qDebug() << "Failed to execute query!" << query.lastError().text();
        return false;
    }
    else {
        if (!query.next()) {
            qDebug() << "No data found!";
            return false;
        }
        else {
            qDebug() << "Data found!";
            return true;
        }
    }
}
-- 创建智能家居状态表
CREATE TABLE IF NOT EXISTS Status (
    sid INTEGER PRIMARY KEY AUTOINCREMENT,
    uid INTEGER,
    device_name varchar(10),
    device_state varchar(10),
    value varchar(10),
    mode varchar(10),
    FOREIGN KEY (uid) REFERENCES users (uid)
);

-- 创建用户表
CREATE TABLE IF NOT EXISTS users (
    uid INTEGER PRIMARY KEY AUTOINCREMENT,
    username varchar(10),
    passwd varchar(10)
);

-- 创建智能家居状态表
CREATE TABLE IF NOT EXISTS Status (
    sid INTEGER PRIMARY KEY AUTOINCREMENT,
    uid INTEGER,
    device_name varchar(10),
    device_state varchar(10),
    value varchar(10),
    mode varchar(10),
    FOREIGN KEY (uid) REFERENCES users (uid)
);

SELECT device_state FROM Status WHERE uid = 123 AND device_name = '智能灯';
SELECT device_state FROM Status WHERE uid = 123 AND device_name = '智能灯' ORDER BY sid DESC LIMIT 1;
UPDATE Status SET value = '12', device_state = '开启' WHERE uid = 123 AND device_name = '智能灯';
代码改错只显示修改部分:现在提示QMetaObjectconnectSlotsByName No matching signal for on_modeComboBox_currentIndexChangedint#ifndef USERSWIDGET_H#define USERSWIDGET_H#include QWidgetnamespace Ui class UsersWidget;clas

原文地址: https://www.cveoy.top/t/topic/izGG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录