qt清空数据库表数据保留表结构的一种方法

查阅了一些资料,很多人的意见是备份一个只包含数据库表结构的backup文件,然后删掉数据库,然后恢复。
正在我的实践中是有点问题的,因为使用数据库的人不止我一个,人家数据库不让我删除。而且我执行的时候出了很多我一时解决不了的错误(这才是原因),所以我智能找点别的办法,稍微记录下。
我是用的是postgre数据库,其他的应该差不多的。
方法就是找到你库里的所以表,然后级联删除表的内容(级联删除,级联删除,级联删除)。再附上几行代码:

QString sqlStr= "select tablename from pg_tables where schemaname='public' ;//少个引号,加上编辑有点问题
QSqlQuery query(sqlStr,connectDB(dbName));
QList<QString> databaseNameList;
while(query.next())
{
    databaseNameList.push_back(query.value(0).to
Qt中,可以使用Qt的SQL模块来查询数据库数据。下面是一个简单的介绍和示例代码: 1. 首先,需要在.pro文件中添加对Qt SQL模块的引用。在.pro文件中添加以下代码: ``` QT += sql ``` 2. 在源代码中,需要包含相关的头文件和命名空间: ```cpp #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QDebug> ``` 3. 建立数据库连接并执行查询操作。下面是一个示例代码: ```cpp // 建立数据库连接 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); // 数据库服务器地址 db.setDatabaseName("database_name"); // 数据库名称 db.setUserName("username"); // 用户名 db.setPassword("password"); // 密码 // 打开数据库 if (!db.open()) { qDebug() << "数据库打开失败:" << db.lastError().text(); return; } // 执行查询操作 QString queryStr = "SELECT * FROM table_name"; QSqlQuery query; if (!query.exec(queryStr)) { qDebug() << "查询失败:" << query.lastError().text(); db.close(); return; } // 处理查询结果 while (query.next()) { QString column1 = query.value(0).toString(); // 获取第一列数据 QString column2 = query.value(1).toString(); // 获取第二列数据 // ... qDebug() << column1 << column2; } // 关闭数据库连接 db.close(); ``` 上述示例代码中,通过`QSqlDatabase`建立数据库连接,使用`QSqlQuery`执行查询操作,并通过`query.next()`和`query.value()`获取查询结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值