《數(shù)據(jù)庫課程設計》報告學生成績管理系統(tǒng)設計
《《數(shù)據(jù)庫課程設計》報告學生成績管理系統(tǒng)設計》由會員分享,可在線閱讀,更多相關《《數(shù)據(jù)庫課程設計》報告學生成績管理系統(tǒng)設計(50頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、計算機科學與技術專業(yè)數(shù)據(jù)庫課程設計 華科學院計算機科學與技術專業(yè) 《數(shù)據(jù)庫課程設計》報告 (2007/2008學年 第一學期) 學生姓名: 學生班級: 學生學號: 指導教師: 2007年12月29日 目錄 第一章 學生成績管理系統(tǒng)概述 3 1.1 開發(fā)背景及意義 3 1.2 運行環(huán)境 3 第二章 需求分析 4 2.1 可行性分析 4 1設計思想 4 2技術可行性 4 3環(huán)境可行性
2、 4 2.2 系統(tǒng)需求 4 1功能需求 4 2性能要求 5 2.3 數(shù)據(jù)流程圖 5 2.4 數(shù)據(jù)字典 6 第三章 概念結(jié)構(gòu)設計 8 3.1 實體E-R圖 8 3.2 實體之間關系E-R圖 9 3.3 課程管理模塊設計 11 3.4 學生資料管理模塊 11 第四章 邏輯結(jié)構(gòu)設計 13 第五章 物理設計及實施 15 5.1 系統(tǒng)數(shù)據(jù)庫設計 15 5.2 相關模塊數(shù)據(jù)庫設計 15 第六章 系統(tǒng)設計及主要界面介紹 17 6.1各主要界面介紹 17 6.1.1 登陸界面 17 6.1.2 系統(tǒng)主要界面 17 6.2 編碼實現(xiàn): 22 6.2.1 連接數(shù)據(jù)庫及網(wǎng)絡函
3、數(shù)申明 22 6.2.2 登陸界面實現(xiàn) 24 6.2.3 主界面代碼如下 25 6.2.4 成績錄入界面代碼 29 6.2.5 成績修改界面 32 6.2.6 成績查詢 36 6.2.7 用戶注冊 39 附錄1 使用說明 42 附錄2 Db_score.sql 內(nèi)容 42 參考文獻 48 第一章 學生成績管理系統(tǒng)概述 1.1 開發(fā)背景及意義 在教育普及日趨完善的今天,一個學校擁有上萬人已經(jīng)很普遍,上萬個學生的數(shù)據(jù)匯集在一起,對學校信息的管理者而言其工作的龐雜和繁瑣程度是相當巨大的,如果只靠人工管理往往
4、為了改一條數(shù)據(jù)就要翻查所有相關的資料,不僅容易產(chǎn)生錯誤,而且造成時間和人力很大的浪費,在網(wǎng)絡普及的今天,無紙化辦公已經(jīng)成為一種新的趨勢,在極短的時間內(nèi)讓學校變成無紙化辦公的場所是不現(xiàn)實的,但我們可以一步一步向這個方向發(fā)展。 經(jīng)過仔細分析以后,學校的學生成績管理是學校龐大數(shù)據(jù)中的一角,編寫個學生成績管理系統(tǒng)來關學生的成績有很大的意義。 1、 主要方便教師對學生成績的管理:教師只需坐在計算機前即可完成對學生成績、課程及學生資料的管理,不用在各個辦公室來回取送文件了。 2、 減少數(shù)據(jù)出錯:人工對數(shù)據(jù)的管理產(chǎn)生錯誤是無法避免的,一旦產(chǎn)生錯誤,更正起來十分困難,使用本系統(tǒng)后可以減少出錯的幾率,
5、修改錯誤也十分方便。 3、 節(jié)約資源:系統(tǒng)普及后可以節(jié)約大量用來紀錄學生信息的紙張,可以減少以用來管理學生的人手,節(jié)約了物質(zhì)資源和人力資源,從而節(jié)約了學校的開支。 1.2 運行環(huán)境 1、裝有WIN98以上的操作系統(tǒng)的個人電腦 2、安裝Access或 SQL Server其中一種數(shù)據(jù)庫。 第二章 需求分析 2.1 可行性分析 1設計思想 當今社會的信息流量越來越大,信息交流的效率顯得尤為重要。無紙化辦公已經(jīng)成為社會各工作場所必須具備的條件了。 一個有用幾千人乃至上萬人的學校,要對每個學生的資料、成績、課程等數(shù)據(jù)進行管理,其信息量很大,如果通過人工管理的
6、話將是一項十分巨大的工作,而且容易出錯。我們設計了這套系統(tǒng)為了能讓教師更輕松地對學生的成績、課程、學生資料進行管理,查詢成績,將大大簡化學生資料、成績和課程的添加、修改、查詢等管理的手續(xù)和時間,從而減輕了教師的工作負擔和繁瑣。 2技術可行性 C/S 模式的客戶端需要安本裝軟件通過對數(shù)據(jù)庫的訪問就可以得到所需信息,比其他方式更容易管理,符合使用者對使用系統(tǒng)的要求。為我們提供了系統(tǒng)設計的基本思想,為我們提供了系統(tǒng)設計的基本方向。 3環(huán)境可行性 現(xiàn)在學校教師已經(jīng)普遍配有計算機,而且采用的是C/S模式,不需要為客戶安裝什么特殊的軟件,甚至不要求計算機能上網(wǎng)的要求。 2.2 系統(tǒng)需
7、求 1功能需求 整個系統(tǒng)共劃分為學生成績管理、學生資料管理、課程管理、登陸信息管理和用戶管理五大模塊,其中課程管理模塊提供用戶對課程的基本管理功能,包括課程的添加、修改、刪除和瀏覽。學生資料管理模塊提供用戶對學生資料的基本管理功能,包括學生資料的添加、修改、刪除和查詢。系統(tǒng)功能層次圖如圖2-1所示。 成績管理系統(tǒng) 學生資料管理 用戶管理 登陸信息管理 課程管理 學生成績管理 圖 2.1系統(tǒng)功能層次圖 2性能要求 所開發(fā)的系統(tǒng)能在安裝有WIN98以后的系統(tǒng)上正常運行,數(shù)據(jù)庫文件的查詢修改所需響應時間不能大于10秒。 要求系統(tǒng)能對數(shù)據(jù)庫信息的基本保密,并對超級管理員提供
8、對數(shù)據(jù)庫的直接修改功能,對不同的對象提供不同的權(quán)限資格,讓使用者不能越權(quán)修改資料,并且要求數(shù)據(jù)的唯一,不能產(chǎn)生數(shù)據(jù)重復輸入的情況。對于源代碼能保密,出現(xiàn)問題后能及時的做出相應的調(diào)整。 要求客戶機上有安裝Access或 SQL Server等數(shù)據(jù)庫。 2.3 數(shù)據(jù)流程圖 如下圖2.2所示 圖 2.2 數(shù)據(jù)流程圖 2.4 數(shù)據(jù)字典 數(shù)據(jù)字典是關于數(shù)據(jù)的信息集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)字典的作用是在軟件分析和設計的過程中給人提供關于數(shù)據(jù)的描述信息。本軟件的相關數(shù)據(jù)字典如表2-1下: 表2-1 數(shù)據(jù)字典 名字:學生信息記錄 別名:
9、描述:描述學生的具體信息的信息表 定義:學生信息記錄 = 學號 + 姓名 + 性別 + 年齡 + 班級 位置:登陸用戶信息表(tb_login) 學生信息表(tb_stuInfo) 名字:教師注冊表 別名:系統(tǒng)登陸用戶信息 描述:教師注冊為本系統(tǒng)的合法用戶時,所提供給用戶的信息。 定義:教師注冊表 = 系統(tǒng)ID + 教師號 + 姓名 + 性別 + 院系 位置:登陸用戶信息表(tb_login) 教師信息表(tb_teacherInfo) 名字:課程安排表記錄 別名: 描述:記錄課程安排的信息表 定義:課程安排
10、表記錄 = 科目號 + 科目名 + 上課時間 + 上課地點 位置:課程安排表(tb_claInfo) 數(shù)據(jù)項描述: 系統(tǒng)ID = 教師登陸用戶名 | 管理員登陸用戶名 | 學生登陸用戶名 教師登陸用戶名 = 0{字母或數(shù)字}12 管理員登陸用戶名 = 0{字母或數(shù)字}12 學生登陸用戶名 = 學號 學號 = 12{數(shù)字字符}12 第三章 概念結(jié)構(gòu)設計 3.1 實體E-R圖 E-R圖(Entity-Relationship Diagran)是用來描述現(xiàn)實世界的概念模型。 本系統(tǒng)的主要E-R圖3.1 ~ 圖3.6所示: 管理員 姓名 性別
11、 系統(tǒng)ID 圖3.1 管理員實體E-R圖 教師 教師號 姓名 性別 系統(tǒng)ID 圖3.2 教師實體E-R圖 姓名 學號 性別 年齡 班級 學生 圖3.3 學生教師實體E-R圖 姓名 學號 課程名 表號 班級 成績 圖3.4 成績實體E-R圖 課程 課程號 課程名 圖3.5 課程實體E-R圖 院系 籍貫 入學時間 專業(yè) 班級 學生資料 政治面貌 最高學歷 圖3.6 學生資料實體E-R圖 3.2 實體之間關系E-
12、R圖 圖 3.7實體之間關系E-R圖 PS:管理員和學生、教師之間是管理的關系,由管理員管理學生和教師的權(quán)限。管理員具有最高權(quán)利,并管理課程安排;也可以對學生資料和學生成績進行管理。 教師和成績、學生資料之間是管理的關系,由教師對成績、學生資料的添加、刪除、修改等功能進行管理;與課程是查詢關系,教師只能查詢課程安排。 學生和課程、成績、學生資料之間是查詢的關系,學生在課程、成績、學生資料的模塊中查詢信息。 3.3 課程管理模塊設計 權(quán)限設計:權(quán)限為2的使用者為學生,權(quán)限為1的使用者為教師,權(quán)限為0的使用者為管理員。 課程管理模塊:能提供基本的課程管理功能:添加課程
13、、修改課程、刪除課程、瀏覽課程,每個功能的具體要求如下: 課程管理功能層次圖如圖3.2所示: 課程管理模塊 課程添加 課程修改 課程查詢 課程刪除 圖3.2 課程管理功能層次圖 添加課程:為權(quán)限為0的用戶提供課程添加功能,要求能添加課編號、課程名稱。 修改課程:為權(quán)限達為0的用戶提供課程修改功能,為了保證課程編號唯一,只能修改課程名稱,不能對課程編號進行修改,如果要修改課程編號,請先刪除課程,再添加對應課程的編號和名稱。 刪除課程:為權(quán)限為0的用戶提供課程刪除功能,選擇要刪除的課程編號,顯示出該課程的相關信息,確認后刪除課程。 瀏覽課程:為所有用戶提供課程瀏覽功能,
14、將所有課程信息以表格的形式顯示到新窗體上。 3.4 學生資料管理模塊 學生信息管理模塊:記錄學生基本信息,包括學生的學號、姓名、性別、出生日期、所在院系、專業(yè)、聯(lián)系方式以及備注信息,對學生的基本資料進行添加、修改、刪除、查詢等基本的管理操作。 學生資料管理功能層次圖3.3所示 學生資料管理模塊 學生資料添加 學生資料修改 學生資料查詢 學生資料刪除 圖3.3 學生資料管理功能層次圖 添加學生信息:為權(quán)限是1或0的用戶提供學生信息添加功能,要求能添加學生資料的所有項,并且確保學生學號的唯一性。 修改學生信息:為權(quán)限是1或0的用戶提供學生信息修改功能,輸入要修改的學生
15、學號后生成修改學生資料的頁面,并在上面進行修改操作,要求能修改學生資料。 刪除學生信息:為權(quán)限是1或0的用戶提供學生信息刪除功能,要求在輸入要刪除的學生學號后生成刪除學生資料的頁面,使用者得到確認后,徹底的刪除改學生的所有資料。 查詢學生信息:為所有用戶提供學生資料查詢功能,能提供不同類型的查詢,包括全部查詢、所在專業(yè)、班級、學號、姓名的查詢,在選擇選項并輸入相應的數(shù)值后,生成學生的資料。 第四章 邏輯結(jié)構(gòu)設計 邏輯結(jié)構(gòu)設計的任務就是把概念結(jié)構(gòu)設計階段設計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。本系統(tǒng)的邏輯結(jié)構(gòu)如下圖4.1
16、~ 圖4.4所示: 圖4.1 tb_login 登陸用戶基本信息表 圖4.2 tb_score 學生成績基本信息表 圖4.3 tb_stuinfo 學生基本信息表 圖4.4 tb_clas 課程基本信息表 第五章 物理設計及實施 5.1 系統(tǒng)數(shù)據(jù)庫設計 數(shù)據(jù)庫包括用戶表、課程表、成績表、學生資料表,在每個表中要求能紀錄相應的基本信息,并做到分類和自動排序。在設計過程中,本機調(diào)試時采用了SQL數(shù)據(jù)庫。 5.2 相關模塊數(shù)據(jù)庫設計 1 系統(tǒng)用戶表記錄的系統(tǒng)登陸用戶的信息: 登陸用戶資料表(tb_login) 如
17、圖5.1所示:(以下所有圖,為了方便截圖,建立表語句后,加了個select 語句,所以有顯示批查詢完成) 圖5.1 登陸用戶表 2 學生成績表記錄了學生各科成績 學生成績表(tb_score)如圖5.2所示: 圖5.2 學生成績表 3 課程表紀錄了課程的基本信息: 課程資料表(tb_course)如圖5.3所示 圖5.3 課程資料表 4、學生資料表記錄了學生的基本信息: 學生資料表如圖5.4所示: 圖5.4 學生資料表 第六章 系統(tǒng)設計及主要界面介紹 6.1各主要界面介紹 6.1.1 登陸界面 ――登陸界面Frm_login如圖6.1
18、所示: 圖6.1 登陸界面 6.1.2 系統(tǒng)主要界面 (本系統(tǒng)的主界面具體的實際功能只有修改密碼,主要是起和后邊各個窗體連接作用,相當于導航器,功能不可小視^ ^,界面設計全是自己用photoshop等軟件自己設計的,所有素材保留在本程序目錄下的skin文件夾中) 系統(tǒng)主要界面Frm_tmain --系統(tǒng)簡介如圖6.2所示: 圖6.2 系統(tǒng)簡介 --系統(tǒng)幫助如圖6.3所示: (主要是連接了些網(wǎng)上關于vb6.0和sql server 2000的資料,沒有自己設置窗體和文本) 圖6.3 幫助主題 --更改密碼界面如圖6.4所示: 圖6.4 更改密碼
19、 ――成績查詢界面如圖6.5所示下:(查詢中也還有其他按紐功能,大體相同,不一一介紹) 圖6.5 成績查詢 ――成績查詢結(jié)果顯示如下如圖6.6所示 (注:為了方便檢查我在數(shù)據(jù)庫中加入了本班部分同學的信息,各個窗體的相關標簽是相互關聯(lián)的,如上邊查詢的是200522030109,點擊查詢得到以下表中的信息,下同) 圖6.6 成績查詢結(jié)果 ――成績錄入界面如如圖6.7所示 圖6.7 錄入成績 ――選擇相應的科目和班級提交后得到以下頁面如圖6.8所示 圖6.8 錄入成績表格 ――信息修改界面如下如圖6.9所示 圖6.9 修改信息
20、 ――選擇相應的科目和班級提交后得到以下頁面:在此錄入修改信息,如下圖6.10所示 圖6.10 修改成績表格 --以下是注冊信息表如圖6.11所示 圖6.11 注冊界面(兩個) 6.2 編碼實現(xiàn): 6.2.1 連接數(shù)據(jù)庫及網(wǎng)絡函數(shù)申明 這是兩模塊:modSql和toInternet的代碼(為了方便后邊的代碼方便簡單,就把這兩個常用部分,定義了兩個單獨模塊)如下:代碼簡單,不一一解釋了 模塊一:ModSql: Public Function ExecuteSql(ByVal strSql As String) As ADODB.Recordset O
21、n Error GoTo ExecuteSql_Error 處理錯誤 Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Set cnn = New ADODB.Connection Set rst = New ADODB.Recordset cnn.Open "filedsn=db_score.dsn;uid=sa;pwd=" rst.Open Trim$(strSql), cnn, adOpenKeyset, adLockOptimistic Set
22、ExecuteSql = rst ExecuteSql_Exit: Set rst = Nothing Set cnn = Nothing Exit Function ExecuteSql_Error: Msgbox ("數(shù)據(jù)哭操作失敗,請檢查數(shù)據(jù)源配置!"),vbokonly Resume ExecuteSql_Exit End Function 模塊二:toInternet: Rem 連接網(wǎng)絡^ ^.....................api函數(shù)~ Public Declare Function ShellExecute Lib
23、 "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Public Const SW_SHOWNORMAL = 1 Public Sub toWeb(ByVal URL As String) Dim Sus As Long Sus = She
24、llExecute(Handle, vbNullString, URL, vbNullString, nil, SW_SHOWNORMAL) End Sub 6.2.2 登陸界面實現(xiàn) 其中有關代碼如下: Option Explicit Private Sub CmdAdmin_Click() MsgBox "I am sorry! You are not the admin....", vbOKOnly + vbExclamation, "HKjsj052201h" End Sub Private Sub CmdEnter_Click() Dim st
25、rSql As String sql查詢語句 Dim rst As New ADODB.Recordset If Trim(TxtUser.Text) = "" Then MsgBox "請輸入正確的用戶名!", vbOKOnly + vbExclamation, "警告" TxtUser.SetFocus Else strSql = "select * from tb_login where userid =" & TxtUser.Text & " " Set r
26、st = ExecuteSql(strSql) If rst.EOF = True Then MsgBox "用戶名不存在,請重新輸入!", vbOKOnly + vbExclamation, "警告" Set rst = ExecuteSql(strSql) TxtUser.SetFocus Else If Trim(rst.Fields("userpwd")) = Trim(TxtPwd.Text) Then rst.C
27、lose Me.Hide Frm_tMain.Show Else MsgBox "密碼不正確,請重新輸入!", vbOKOnly + vbExclamation, "警告" TxtPwd.Text = "" TxtPwd.SetFocus End If End If End If End Sub Private Sub CmdNewuse
28、r_Click() Frm_Login.Hide Frm_Regester.Show End Sub 6.2.3 主界面代碼如下 Private Sub CmdAddStu_Click() FmeAdd.Visible = True Frmcla04.Visible = False End Sub Private Sub CmdAlterScore04_Click() FmeAdd.Visible = False Frmcla04.Visible = True End Sub Private Sub CmdCan
29、01_Click() TxtYuanxi01 = "" TxtMajor01 = "" TxtClas01 = "" End Sub Private Sub CmdChaXun05_Click() Frm_tMain.Hide Frm_Stu_Score.Show End Sub Private Sub CmdCla_Click() FClaIn.Visible = True FSubIn.Visible = False End Sub Private Sub CmdCutStu_Click()
30、 FmeAdd.Visible = True Frmcla04.Visible = False End Sub Private Sub Cmdok01_Click() Frm_tMain.Hide Frm_InScores.Show End Sub Private Sub CmdOk03_Click() FrmSub04.Visible = True Frmcla04.Visible = False End Sub Private Sub CmdOk02_Click() FClaIn.Visible = True
31、 FSubIn.Visible = False End Sub Private Sub CmdOk05_Click() Me.Hide Frm_AlterScore.Show End Sub Private Sub CmdSelSCore05_Click() Fmeclas05.Visible = True FmeZdy05.Visible = False FmeCxStu05.Visible = False End Sub Private Sub CmdStu05_Click() FmeCxStu05
32、.Visible = True FmeZdy05.Visible = False Fmeclas05.Visible = False End Sub Private Sub CmdSub_Click() FClaIn.Visible = False FSubIn.Visible = True End Sub Private Sub CmdXcode_Click() If TxtNewcode01.Text <> TxtNewcode02.Text Then MsgBox "兩次輸入的密碼不一樣!", vbO
33、KOnly + vbExclamation, "錯誤" End If Dim rst As New ADODB.Recordset Dim strSql As String strSql = "update tb_login set userpwd = " & TxtNewcode01.Text & " where userid =" & Frm_Login.TxtUser.Text & " " Set rst = ExecuteSql(strSql) MsgBox "密碼修改成功!", vbOKOnly + vbExclamatio
34、n, "HKJSJ052201H" End Sub Private Sub CmdZdy_Click() FmeZdy05.Visible = True Fmeclas05.Visible = False FmeCxStu05.Visible = False End Sub Private Sub Form_Load() CobSub04.AddItem ("軟件工程") CobSub04.AddItem ("匯編語言") CobSub04.AddItem ("數(shù)據(jù)庫設計") CobSub04.Add
35、Item ("計算機圖形學") CobSub04.AddItem ("JAVA程序設計") CobSub04.AddItem ("計算機組成原理") End Sub Private Sub Form_Unload(Cancel As Integer) If MsgBox("真的要退出本系統(tǒng)嗎?", vbOKCancel + vbDefaultButton2, "退出系統(tǒng)") = vbCancel Then Cancel = 1 End Sub Private Sub LblHelp01_Click() Me.Hide Frm_AD.Show
36、End Sub Private Sub LblHelp02_Click() Call toWeb(" End Sub Private Sub LblHelp03_Click() Call toWeb("") End Sub Private Sub LblHelp04_Click() Call toWeb(" End Sub Private Sub LblHelp05_Click() Me.Hide Frm_421.Show End Sub Private Sub Timer1_Timer() LblTime.
37、Caption = " 歡迎使用本系統(tǒng)! 祝學習工作愉快 ^ ^ " + Format(Now, "yyyy/mm/dd") _ + " " + Format(Now, "dddd") + " " + Format(Now, "hh:mm:ss AM/PM") End Sub 6.2.4 成績錄入界面代碼 Private Sub Form_Load() With MSFlexGrid1 固定表頭 .FixedRows = 1 表頭項居中
38、 .FillStyle = flexFillRepeat .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols - 1 .CellAlignment = 4 .Rows = 25 .Cols = 5 End With 設置MSFlexGrid表格的列寬 MSFlexGrid1.ColWidth(0) = 1900 MSFlexGrid1.ColWidth(1) = 1800 MS
39、FlexGrid1.ColWidth(2) = 3200 MSFlexGrid1.ColWidth(3) = 1200 MSFlexGrid1.ColWidth(4) = 2600 表頭 MSFlexGrid1.TextMatrix(0, 0) = " 學號" MSFlexGrid1.TextMatrix(0, 1) = " 姓名" MSFlexGrid1.TextMatrix(0, 2) = " 課程名" MSFlexGrid1.TextMatrix(0, 3) = "
40、 分數(shù)" MSFlexGrid1.TextMatrix(0, 4) = " 備注" ShowData no return 添寫固定科目 For k = 1 To 17 MSFlexGrid1.TextMatrix(k, 2) = LblTitle.Caption Next k End Sub 讀取數(shù)據(jù)庫的函數(shù)/循環(huán)讀入 Public Sub ShowData() Dim j As Integer Dim i As Integer strSq
41、l = "select 學號,姓名 from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count Select Case rst.Fields(i - 1).Typ
42、e Case adDBDate .TextMatrix(.Rows - 1, i - 1) = Format(rst.Fields(i - 1) & "", "yyyy-mm-dd") Case Else .TextMatrix(.Rows - 1, i - 1) = rst.Fields(i - 1) & "" End Select Next i
43、 rst.MoveNext Loop End With End If rst.Close End Sub 6.2.5 成績修改界面 Option Explicit Dim rst As New ADODB.Recordset Dim strSql As String Dim k As Integer Dim j As Integer Dim i As Integer Public Sub ShowData() strSql = "select 學號,姓名," & Trim
44、(LblSub.Caption) & " from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count Select Case rst.Fields(i - 1).
45、Type Case adDBDate .TextMatrix(.Rows - 1, i - 1) = Format(rst.Fields(i - 1) & "", "yyyy-mm-dd") Case Else .TextMatrix(.Rows - 1, i - 1) = rst.Fields(i - 1) End Select Next i
46、 rst.MoveNext Loop End With End If rst.Close End Sub Public Sub ShowScore() strSql = "select " & Trim(LblSub.Caption) & " from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Ro
47、ws = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count .TextMatrix(.Rows - 1, i + 2) = rst.Fields(i - 1) & "" Next i rst.MoveNext Loop End With End If rst.Close End
48、Sub Private Sub Command1_Click() End Sub Private Sub CmdBack_Click() Me.Hide Frm_tMain.Show End Sub Private Sub CmdOk_Click() MsgBox "修改數(shù)據(jù)成功!單擊“確定”返回", vbOKOnly + vbInformation, "計算機052201H" End Sub Private Sub CmdReTry_Click() Dim i As Integer For i = 0 T
49、o 16 Text1(i) = "" Next i End Sub Private Sub Form_Load() On Error Resume Next LblSub.Caption = Frm_tMain.CobSub04.Text 顯示biao qian MSFlexGrid1.Rows = 24 MSFlexGrid1.Cols = 4 設置MSFlexGrid表格的列寬 MSFlexGrid1.ColWidth(0) = 2400 MSFlexGrid1.ColWidth(1) = 2400
50、 MSFlexGrid1.ColWidth(2) = 1800 MSFlexGrid1.ColWidth(3) = 1800 表頭 MSFlexGrid1.TextMatrix(0, 0) = " 學號" MSFlexGrid1.TextMatrix(0, 1) = " 姓名" MSFlexGrid1.TextMatrix(0, 2) = " 成績" MSFlexGrid1.TextMatrix(0, 3) = " 編輯" 填充第一列 For k = 1
51、To 23 MSFlexGrid1.TextMatrix(k, 0) = " 20052203010" & k Next k ShowScore ShowData End Sub 6.2.6 成績查詢 Option Explicit Dim rst As New ADODB.Recordset Dim rstName As New ADODB.Recordset Dim strSql, strSqlName As String Public Sub ShowData() Dim j As Integer Dim i
52、As Integer strSql = "select 軟件工程,匯編語言, 數(shù)據(jù)庫設計,計算機圖形學,JAVA程序設計,計算機組成原理 from tb_score where 學號 = " & LblStuNo.Caption & " " Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1
53、 For i = 1 To rst.Fields.Count Select Case rst.Fields(i - 1).Type Case adDBDate .TextMatrix(.Rows - 1, i - 1) = Format(rst.Fields(i - 1) & "", "yyyy-mm-dd") Case Else .TextMatrix(.R
54、ows - 1, i - 1) = rst.Fields(i - 1) & "" End Select Next i rst.MoveNext Loop End With End If rst.Close End Sub Public Sub ShowName() Dim i As Integer strSql = "select 姓名 from tb_score where 學號 = " & LblStuNo.Capti
55、on & " " Set rst = ExecuteSql(strSql) If rst.EOF = False Then LblStuName.Caption = rst.Fields("姓名") End If rst.Close End Sub Private Sub CmdOk_Click() Unload Me Frm_tMain.Show End Sub Private Sub Form_Load() LblStuNo.Caption = Frm_tMain.TxtStuNoC0
56、5.Text With MSFlexGrid1 固定表頭 .FixedRows = 1 表頭項居中 .FillStyle = flexFillRepeat .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols - 1 .CellAlignment = 4 .Rows = 2 .Cols = 6 End Wit
57、h guding liekuan MSFlexGrid1.ColWidth(0) = 1200 MSFlexGrid1.ColWidth(1) = 1200 MSFlexGrid1.ColWidth(2) = 1500 MSFlexGrid1.ColWidth(3) = 2000 MSFlexGrid1.ColWidth(4) = 2000 MSFlexGrid1.ColWidth(5) = 2400 MSFlexGrid1.TextMatrix(0, 0) = "軟件工程" MSFlexGr
58、id1.TextMatrix(0, 1) = "匯編語言" MSFlexGrid1.TextMatrix(0, 2) = "數(shù)據(jù)庫設計" MSFlexGrid1.TextMatrix(0, 3) = "計算機圖形學" MSFlexGrid1.TextMatrix(0, 4) = "JAVA程序設計" MSFlexGrid1.TextMatrix(0, 5) = "計算機組成原理" ShowName 函數(shù)調(diào)用 ShowData 函數(shù)調(diào)用 End Sub 6.2
59、.7 用戶注冊 Option Explicit Private Sub CmdOk_Click() On Error Resume Next Dim cn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim i As Long Dim strSqlReg, strSqlChk As String strSqlReg = "insert into tb_login (userid,userpwd) values (" & NewId.Text & "," & NewPwd1.
60、Text & " )" strSqlChk = "select userid from tb_login where userid =" & NewId.Text & " " Set rst = ExecuteSql(strSqlChk) If Trim(NewId.Text) = "" Then MsgBox "請輸入正確的用戶名!", vbOKOnly + vbExclamation, "警告" NewId.SetFocus ElseIf NewId.Text = rst.F
61、ields("userid") Then MsgBox "此用戶名已經(jīng)被注冊!請重新輸入新用戶名!", vbOKOnly + vbExclamation, "警告" End If If NewPwd0.Text <> NewPwd1.Text Then MsgBox "對不起!你你兩次輸入的密碼不一致!請仔細核對后重新輸入!", vbOKOnly + vbExclamation, "警告" NewPwd0.Text = "" NewPw
62、d1.Text = "" NewPwd0.SetFocus End If Set rst = Nothing Set rst = ExecuteSql(strSqlReg) MsgBox "注冊成功!祝使用學習工作愉快!", vbOKOnly + vbExclamation, "謝謝使用" End Sub Private Sub CmdToUp_Click() Frm_Regester.Hide Frm_Login.Show End Sub Private
63、Sub EnterEle_Click() Frm_Regester.Hide Frm_RegEle.Show End Sub 結(jié)束語 “ 一個軟件產(chǎn)品或一項軟件服務幫助客戶改進了他們的業(yè)務,因此獲得客戶支付的報酬,軟件產(chǎn)品和服務的付出終于取得了回報。” 通過本次課程設計,我終于明白學的理論和實際運用原來有這么多意想不到的差別,而只有通過自己反復動手才能發(fā)現(xiàn)這些微妙的細節(jié)。無論是在設計數(shù)據(jù)庫還是在編程方面,我都收獲頗多,而這些收獲的的來,全來源于張老師對我們的嚴格和負責。我的報告修改了無數(shù)次了。我也從這無數(shù)次中鞏固了許多原本沒掌握好的知
64、識和一種嚴謹?shù)淖鋈说览?,也許這次還不能達到老師的嚴格要求(為此,小女子在此表示深深的歉意=_=),不過在以后的學習生活中,無論是干什么我都會嚴格要求自己,都會想到這段難忘的數(shù)據(jù)庫設計周。 首先,我想對張老師說:張老師,您辛苦了! 其次,我要感謝我們的學校領導,給我們安排了這次課程設計,給了我們展示自己才能的舞確立了我們的這個作業(yè)方向,設立了我這個作業(yè)項目(本來我是用JSP寫的,能力實在有限,就又用VB和SQL~~~所以部分界面有些網(wǎng)頁化,就沒修改了。見諒),不過沒有他們的英明決策,我這個"產(chǎn)品"就不會在這個時候出現(xiàn)在這個美妙的地方。 其次,我要感謝我的朋友和同學,沒有他們的支持,
65、就沒有這么“出色的軟件”啦;然后我還要感謝我的爸爸媽媽,親戚朋友,沒有他們哪兒有我呀,當然就沒的這軟件了.. 附錄1 使用說明 1 本程序采用vb 6.0 ,SQL
66、server 2000..................... 2 為了方便老師檢驗,里邊配帶了已經(jīng)寫好的數(shù)據(jù)庫,在項目子目錄里面的sql目錄里,將db_score.sql的文件打開后,拷貝到SQL Server 2000的查詢分析器里,然后執(zhí)行將產(chǎn)生需要的數(shù)據(jù)庫結(jié)構(gòu)。 3 配置ODBC數(shù)據(jù)源,按照說明進行數(shù)據(jù)源的配置,程序?qū)?shù)據(jù)庫的訪問需要通過ODBC來實現(xiàn)。打開"控制面板"中"管理工具"的"ODBC(數(shù)據(jù)源)",在彈出的對話框中創(chuàng)建文件DSN。需要創(chuàng)建的文件DSN,創(chuàng)建名為db_score.dsn,登錄方式選擇"使用用戶輸入登錄ID和密碼的SQL Server驗證",登錄ID為sa,密碼為空,選擇連接數(shù)據(jù)庫為db_score(就是在查詢分析器里創(chuàng)建的數(shù)據(jù)庫)。 4 運行
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。