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

無圖無真相

貼圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章