QT技巧系列(13)QT 数据库日期字段显示带“T”字符的解决

QT技巧系列(13)QT 数据库日期字段显示带“T”字符的解决

 

某些操作下数据库中日期字段中会出现“T”字符,如“2020-03-21T12:20:25”。这种情况如何处理,方法如下,供参考。

 

写入数据库时:

 

QDateTime dt1;

dt1 = QDateTime::fromString(strdate,"yyyyMMdd hhmmss.zzz");

query.bindValue(4, dt1);  这种方式会出现“T”字符。

修改成如下方式:

QString tdo=dt1.toString("yyyy-MM-dd hh:mm:ss.zzz");

query.bindValue(1, tdo);

 

 

从数据库读出显示时:

   如果直接显示

            query.value(j).toString()则会出现“T”字符。

  修改成如下方式显示:

            query.value(j).toDateTime().toString("yyyy-MM-dd hh:mm:ss");

 这样就可正常显示。


备注:实战示例,解疑答惑。

           --不间端地思考,实时地批判你的工作!

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt,如果你想要进行模糊查询(即部分匹配查询)数据库数据,你可以利用`QSqlQuery`类的特性。这里有一个简单的步骤说明: **1. 安装数据库驱动和设置连接** 首先,确保已安装SQLite驱动,因为Qt默认支持SQLite。安装好后,在代码通过`QSqlDatabase::addDatabase()`方法添加对SQLite的支持[^1]。 ```cpp // 设置数据库驱动 QSqlDatabase db; db.addDatabase(QSqlDatabase::Sqlite); // 设置数据库文件路径 QString dbPath = "your_database_file.db"; if (!db.open(dbPath)) { // 处理数据库打开失败的情况 } ``` **2. 模糊查询示例** 创建一个`QSqlQuery`实例并构造SQL查询,可以使用`LIKE`关键字来进行模糊查询。假设我们有一个名为`users`的表,有一个字段`name`,你想查找名字包含特定字符的用户: ```cpp // 构造模糊查询 QSqlQuery query(db); query.prepare("SELECT * FROM users WHERE name LIKE '%search_text%'"); // 替换'search_text'为你想搜索的关键字 QString searchTerm = "John Doe"; // 假设你要搜索的名字 query.setParam(0, searchTerm); // 执行查询 if (query.exec()) { while (query.next()) { // 获取查询结果 QVariant id = query.value("id"); QVariant name = query.value("name"); // 使用QVariant的特性处理不同类型的返回值 qDebug() << "ID: " << id.toString() << ", Name: " << name.toString(); } } else { // 查询失败,打印错误信息 qDebug() << query.lastError().text(); } ``` **3. 关闭数据库连接** 查询完成后别忘了关闭数据库连接: ```cpp db.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值