QT 数据库操作

原创Sqlite+Qt4.5.3+QDateTime编写程序

本文为自己原创,如要转载,请注明出处
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 数据库操作_第1张图片

你可能感兴趣的:(QT 数据库操作)