【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《Qt中用SQLite读写时间和日期》,欢迎阅读!
原创Sqlite+Qt4.5.3+QDateTime编写程序 2010-04-08 12:35
本文为自己原创,如要转载,请注明出处
http://hi.baidu.com/armlinuxhouse/blog/item/8e028897c8aae847d0135e4c.html
看了看网上关于Qt的sqlite数据库中存入时间的文章并不多,自己在做项目的过程
中也正好遇到了这个问题,一位很难搞定,小人不才,弄了弄,竟然弄好了,特此
和大家分享过程,sqlite数据库建表的话,如果在dos界面下手敲的话,可能会累死
你,你可以去下一个sqlite的图示管理工具sqliteadmin.,搜一下就出来了,当然
在linux好像有可视话的工具,如果没找到linux下的,你也可以用sqliteadmin建好表,
在linux下直接用也可以,如果熟悉的sqlite的话,你应该知道关于时间的数据格式
在sqlite里有Date和time,不用解释,我想应该很清楚, 所以 ,如果做时间的数据库,你必须添加这两个字段, 从数据方面讲,可以分为插入和读取两个方面, 先看一下插入的过程 贴代码
mywidgetquery->exec(QString("INSERT INTO yingyebase
(YYALLMoney,YYDate,YYTime,YYPayType) VALUES(%1,'%2','%3','%4');") .arg(yymoney)
.arg(QDateTime::currentDateTime().date().toString("yyyy-MM-dd")) .arg(QDateTime::currentDateTime().time().toString("hh:mm:ss")) .arg(tr("RMB方式")) );
我的表的YYData和YYTime就是分别表示日期和时间。
QDataTime::currentDataTime()先获得日期时间,toString("yyyy-MM-dd"),相当于格式化 时间字符串, 读取的过程的话
使用QSqlQueryMolel 或者QSqlTableModel
然后在View中绑定一下,就可以在View看到日期和时间了 贴代码:
myy=new QSqlTableModel(this); myy->setTable("yingyebase");
myy->setSort(YYID,Qt::AscendingOrder);
myy->setHeaderData(YYALLMoney,Qt::Horizontal,tr("消费金额")); myy->setHeaderData(YYDate,Qt::Horizontal,tr("消费日期")); myy->setHeaderData(YYTime,Qt::Horizontal,tr("结账时间")); myy->setHeaderData(YYPayType,Qt::Horizontal,tr("付款方式"));
myy->setFilter(""); myy->select();
ui->tableView->setModel(myy);
ui->tableView->setColumnHidden(YYID,true); ui->tableView->resizeColumnsToContents();
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); QHeaderView *yyheader=ui->tableView->horizontalHeader(); yyheader->setStretchLastSection(true);
ui->tableView->setCurrentIndex(myy->index(myy->rowCount()-1,0)); 无图无真相 贴图
用Qt写一个日历界面,要读sqlite数据库中具体的一条日期(农历数据库,读取后显示到对应的公历日期中),数据库的操作不是很熟,稍微了解一点,会打开和读取,但是要精确地读取一条数据不知道怎么写命令
现在我已经通过函数计算得出了当前系统日期是日历最小时期的第几天,我定义为dayId,int型,可以与数据空中的id相对应,比如今天是日历最小日期的646天,即如何在数据库中查找id为646的那提条数据? 望高手指点
本文来源:https://www.wddqxz.cn/b734a0047075a417866fb84ae45c3b3567ecdd7a.html