Sqlite+Qt4.5.3+QDateTime

来源:互联网 发布:大乐斗专精升级数据 编辑:程序博客网 时间:2024/06/08 09:46

 

 

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)); 

原创粉丝点击