ZBLOG

createTableTrainInfo(QString strTableName) { QSqlQuery query(m_db); return true; } 用Qt C++ 补全上述接口 实现创建一个 strTableName为名称的数据库表,表字段如下 CREATE TABLE `train_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `start_time` bigint(20) NULL...

下面是一个完整的 createTableTrainInfo 函数实现,它会创建一个指定名称的数据库表 strTableName,该表的结构与你提供的 SQL 语句相符。

完整代码

#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>

bool createTableTrainInfo(QString strTableName) {
    // SQL 创建表语句
    QString createTableQuery = QString(R"(
        CREATE TABLE IF NOT EXISTS %1 (
            id BIGINT(20) NOT NULL AUTO_INCREMENT,
            start_time BIGINT(20) NULL DEFAULT NULL,
            end_time BIGINT(20) NULL DEFAULT NULL,
            travel_direction VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
            station_id BIGINT(20) NULL DEFAULT NULL,
            load_state VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
            train_no VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
            locomotive_no VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
            play_direction VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
            file_path VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
            PRIMARY KEY (id)
        ) ENGINE=InnoDB AUTO_INCREMENT=1 CHARACTER SET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC;
    )").arg(strTableName);

    QSqlQuery query;
    
    // 执行创建表语句
    if (!query.exec(createTableQuery)) {
        qDebug() << "Error creating table:" << query.lastError().text();
        return false;  // 如果失败,返回false
    }

    return true;  // 如果成功,返回true
}

使用说明

  • 函数参数:该函数接收一个字符串参数 strTableName,用于定义要创建的表名。

  • SQL语句构建:使用 QString::arg() 方法将传入的 strTableName 替换到 SQL 创建表语句中。

  • 执行查询:通过 QSqlQuery::exec() 方法执行创建表的 SQL 语句,并检查执行结果。如果有错误,则打印错误信息并返回 false;如果成功,则返回 true

注意事项

  • 确保在调用此函数之前,你已经正确设置和打开了数据库连接。

  • 在实际应用中,可以考虑添加更多的错误处理逻辑,以应对各种潜在的问题。

你可以将这个函数集成到你的 Qt 应用程序中,并在适当的位置调用它以创建所需的数据表。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22005

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?