李暉 田地
?
基于SQLITE學(xué)生信息管理系統(tǒng)的QT實(shí)現(xiàn)
李暉 田地
濟(jì)源職業(yè)技術(shù)學(xué)院,河南 濟(jì)源 459000
對(duì)QT開(kāi)發(fā)環(huán)境和平臺(tái)做了介紹,介紹了系統(tǒng)模塊的分析。系統(tǒng)實(shí)現(xiàn)了數(shù)據(jù)輸入、修改、查詢排序等功能,經(jīng)測(cè)試,系統(tǒng)運(yùn)行良好,簡(jiǎn)單實(shí)用。
信息管理;QT;SQLITE
隨著信息技術(shù)在管理上的廣泛應(yīng)用,學(xué)生管理系統(tǒng)能夠提高廣大員工工效率和信息化水平,實(shí)現(xiàn)學(xué)生信息管理工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化,為教學(xué)辦公帶來(lái)了極大方便。同時(shí),采用移動(dòng)平臺(tái)對(duì)進(jìn)行學(xué)生信息管理是必將稱為今后發(fā)展的方向[1]。
(1)管理員能夠?qū)崿F(xiàn)對(duì)整個(gè)學(xué)生信息的添加、修改、刪除、查詢等操作,對(duì)成績(jī)的添加、查詢、保存、打印等操作。(2)可以將學(xué)生信息的數(shù)據(jù)庫(kù)發(fā)布到網(wǎng)上,方便學(xué)生教師進(jìn)行查詢,達(dá)到方便快捷的效果。(3)教師能夠?qū)λ袑W(xué)生的信息和成績(jī)進(jìn)行查詢,錄入學(xué)生信息,統(tǒng)計(jì)學(xué)生信息以及修改。(4)學(xué)生可以在自己的權(quán)限內(nèi)對(duì)自己個(gè)人信息進(jìn)行查詢,方便簡(jiǎn)單地修改刪除數(shù)據(jù),修改登錄密碼。
該學(xué)生信息管理與分析系統(tǒng)是以QT界面+SQLite數(shù)據(jù)查詢語(yǔ)言編寫,其系統(tǒng)功能在QT界面上運(yùn)行。用戶只需進(jìn)行輸入簡(jiǎn)單字符或用鼠標(biāo)點(diǎn)擊即可實(shí)現(xiàn)操作。
學(xué)生信息管理與分析系統(tǒng)主要提供信息查詢,方便管理的網(wǎng)上的信息查閱平臺(tái),學(xué)生可以通過(guò)該系統(tǒng)查閱與自己相關(guān)信息。教師可以通過(guò)信息管理與分析系統(tǒng)查閱學(xué)生信息,還有對(duì)學(xué)生的添加、刪除、修改、排序等功能[2]。
學(xué)生信息管理系統(tǒng)是一個(gè)完整的院校學(xué)生信息管理系統(tǒng),在本系統(tǒng)中主要包括用戶登錄、添加、修改、插入操作、查詢、排序操作、刪除操作、返回全表、保存、打印等,具體描述功能如下:
①配置數(shù)據(jù)庫(kù):靈活配置數(shù)據(jù)庫(kù),以保證系統(tǒng)在主機(jī)上的使用。
②用戶登錄:驗(yàn)證用戶信息是否正確,不正確將不能進(jìn)入該系統(tǒng)。
③退出系統(tǒng):關(guān)閉系統(tǒng)。
④學(xué)生信息管理功能:學(xué)生信息管理功能主要包括查詢個(gè)人信息、導(dǎo)入導(dǎo)出、排序、修改、返回全表、添加和刪除。
⑤學(xué)生信息管理功能:學(xué)生信息管理功能主要包括:查詢成績(jī),保存成績(jī)、打印成績(jī)。
學(xué)生信息管理系統(tǒng)要求具有保密性,設(shè)置了密碼設(shè)置和權(quán)限設(shè)置。權(quán)限設(shè)置只有管理員可以進(jìn)行操作。
用戶都需要通過(guò)用戶名和密碼進(jìn)行登錄。使用語(yǔ)句f(ui->lineEdit->text()==("**")&&ui實(shí)現(xiàn)系統(tǒng)登陸用戶名和密碼的設(shè)置。密碼和用戶名輸入正確后,進(jìn)入系統(tǒng)主界面。
(1)進(jìn)入“提交修改”按鈕的單擊事件槽函數(shù),使用database().transaction()和submitAll()實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的查詢操作。這里用到事務(wù)操作,真正起提交操作的是submitAll(),它提交所有更改。
(2)進(jìn)入“撤銷修改”按鈕槽函數(shù),在widget.cpp文件中添加頭文件:#include "QMessageBox"
和#include "QSqlError"。
(3)進(jìn)入“查詢”按鈕單擊事件槽函數(shù),用model->setFilter(QObject:tr(“name =‘%1′”).arg(name))實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的查詢操作;用model->settable("student")實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的返回全表操作。
(4)進(jìn)入“按升序排列”按鈕的單擊事件,通過(guò)setSort(0,Qt:AscendingOrder)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)升序排列操作;setSort(0,Qt:DescendingOrder)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)降序排列操作。
(5)進(jìn)入“按模糊查找”按鈕的單擊事件,通過(guò)setFilter(QObject:tr("xb='男' ").arg(xb))實(shí)現(xiàn)模糊查詢操作。
(6)進(jìn)入“打印”按鈕的單擊事件,用QPrintDialog printDialog實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)成績(jī)表打印操作,需在cjb.cpp文件中添加頭文件#include "QPrinter"和#include "QPrintDialog"。
(7)進(jìn)入“保存”按鈕的單擊事件,用QFileDialog textsave(this,"save")和QStringList qt實(shí)現(xiàn)成績(jī)表保存操作,需要在cjb.cpp文件中添加頭文件#include "QTextDocument、#include "QFileDialog"、#include "QTextStream"和#include "QFile"[3]。
(8)進(jìn)入“撤銷”按鈕的單擊事件,通過(guò)setTable("Achievement")實(shí)現(xiàn)成績(jī)表撤銷操作。
SQLite是一款輕型可嵌入的SQL數(shù)據(jù)庫(kù)引擎,目前已經(jīng)在很多嵌入式產(chǎn)品中使用。本系統(tǒng)設(shè)計(jì)重點(diǎn)運(yùn)用了SQLiteDatabase中的execSQL()和rawQuery()方法。execSQL()方法可以執(zhí)行insert、delete、update和CREATE TABLE等有更改行為SQL語(yǔ)句[4]。通過(guò)語(yǔ)句QSqlDatabase db =QSqlDatabase:addDatabase("QSQLITE")來(lái)進(jìn)行數(shù)據(jù)庫(kù)與系統(tǒng)的連接。
本系統(tǒng)采用模塊化設(shè)計(jì),采用少量菜單而多用按鈕的風(fēng)格。其中主要功能大多集中在所使用的窗口界面上,通過(guò)按鈕直接對(duì)窗口操作,便于在移動(dòng)平臺(tái)上使用。系統(tǒng)實(shí)現(xiàn)了學(xué)生信息系統(tǒng)的基本功能,能夠?yàn)轭愃葡到y(tǒng)提供參考。
[1]錢麗英,邢華剛.對(duì)學(xué)生成績(jī)管理系統(tǒng)的探討[J].科技資訊,2010(2)3.
[2]王艷兵,錢宗斌.學(xué)生信息管理系統(tǒng)的開(kāi)發(fā)與設(shè)計(jì)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2011(1).
[3]成杰.linux窗口程序設(shè)計(jì)——Qt精彩實(shí)例分析[M].北京:清華大學(xué)出版社,2008.
[4]吳迪.零基礎(chǔ)學(xué)Qt4編程[M].北京:北京航空航天大學(xué)出版社,2010.
TP316.81;TP315
A
1009-6434(2016)04-0008-01