教務管理系統(tǒng)(概要設計及詳細設計)_第1頁
教務管理系統(tǒng)(概要設計及詳細設計)_第2頁
教務管理系統(tǒng)(概要設計及詳細設計)_第3頁
教務管理系統(tǒng)(概要設計及詳細設計)_第4頁
教務管理系統(tǒng)(概要設計及詳細設計)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、概要設計說明書 1. 總體設計 1.1 需求規(guī)定 教務管理系統(tǒng)可分為學生信息管理系統(tǒng)和教師管理信息系統(tǒng), 系統(tǒng)開發(fā)的整 體任務是實現(xiàn)學校教師和學生信息管理的系統(tǒng)化、 規(guī)范化、 自動化和智能化, 從 而達到提高學校管理效率的目的。 本階段目的在于明確系統(tǒng)的數(shù)據(jù)結構和軟件結構, 此外總體設計還將給出內(nèi) 部軟件和外部系統(tǒng)部件之間的接口定義, 各個軟件模塊的功能說明, 數(shù)據(jù)結構的 細節(jié)以及具體的裝配要求。 1.2 運行環(huán)境 軟件基本運行環(huán)境為 Windows XP 環(huán)境。 1.3 基本設計概念和處理流程 概要說明書的目的在于明確系統(tǒng)的數(shù)據(jù)結構和軟件結構, 設計外部軟件和內(nèi) 部軟件的接口, 說明各個軟件

2、模塊的功能說明, 數(shù)據(jù)結構的細節(jié)等。 系統(tǒng)的總體 處理流程如圖 1-1 所示: 1.4系統(tǒng)體系結構 用一覽表及框圖的形式說明本系統(tǒng)的系統(tǒng)元素(各層模塊、子程序、公用程序等)的劃 分,扼要說明每個系統(tǒng)元素的標識符和功能,分層次地給出各元素之間的控制與被控制關系。 本系統(tǒng)的體系架構如圖1-2所示: 圖1-2系統(tǒng)體系架構 本系統(tǒng)體系結構大致可以定義為:客戶機層上的表示層主要是通過 Struts框 架實現(xiàn)的,由顯示視圖產(chǎn)生一個請求。請求被ActionServlet (控制器)接收, 它在struts-config.xml文件中尋找請求的URI,找到對應的 Action 類后, Action類執(zhí)行相應的

3、業(yè)務邏輯。Action類執(zhí)行建立在模型組件基礎上的業(yè)務邏 輯,模型組件是和應用程序關聯(lián)的。一旦Action類處理完業(yè)務邏輯,它把控制 權返回給ActionServlet , Action類提供一個鍵值作為返回的一部分,它指明了 處理的結果。ActionServlet 使用這個鍵值來決定在什么視圖中顯示Action的 類處理結果。當ActionServlet把Action類的處理結果傳送到指定的視圖中, 請求的過程也就完成了。中間業(yè)務層是通過Spring框架實現(xiàn)的,首先建立一個 BaseAction,它繼承了 Action類,而其他定義的 Action都要繼承這個 BaseAction。 這個B

4、aseAction需要導入 AppContext工具類,這個AppContext需要導入Spring 中 org.springframework.context.support.* ;這樣一個繼承 BaseAction的Action,就可以getXXXService()的方法得到某一 個service的實例服務定位器的設計模式。持久(P0)層是由hibernate架構 實現(xiàn)的,它包括關于整體數(shù)據(jù)庫的hibernate.cfg.xml文件、每個表的JavaBean類 和每個表的hbm.xml文件,通過Spring集成模板HibernateTemplate提供DAO 來 使用 PO。在 Sprin

5、g 的配置文件(applicationContext. xml)中配置 sessionFactory的 bean來管理 hibernate 本系統(tǒng)組件圖如圖1-3所示 2. 接口設計 2.1 用戶接口 用戶接口 語法結構 軟件回答信息 教務系統(tǒng)管理員登錄 以英文和漢字開頭,不超過6個字符 進入主界面 信息管理相關操作 進行相應的操作 3. 運行設計 3.1運行模塊組合 具體軟件的運行模塊組合為程序多窗口的運行環(huán)境,各個模塊在軟件運行過 程中能較好的交換信息,處理數(shù)據(jù)。 3.2運行控制 軟件運行時有較友好的界面,基本能夠實現(xiàn)用戶的數(shù)據(jù)處理要求。 3.3運行時間 系統(tǒng)的運行時間基本可以達到要求。

6、4. 系統(tǒng)數(shù)據(jù)結構 4.1邏輯設計 教務管理系統(tǒng)E-R圖 班級信息表 PK 班級編號 X 年級 班級名稱 班級簡稱 人數(shù) 班主任 籍貫代碼表 PK 籍貫編號 籍貫 民族代碼表 PK 民族編號 民族 成績表 PK 編號 學號 課程編號 成績 考試次數(shù) 是否補考 是否重考 是否已確定成績 學生信息 PK 學號 姓名 班級編號 性別 年級 政治面貌編號 民族編號 籍貫編號 身份編號 學籍編號 政治面貌代碼表 PK 政治面貌編號 1 政治面貌 學籍代碼表 PK 學籍編號 學籍名稱 課程信息 PK 課程編號 課程名稱 課程簡稱 拼音碼 本學期課程 教師 開課系別 學分 課程表 編號 課程號 課程編號 上

7、課時間天 上課時間節(jié) 上課地點 選課表 PK 編號 0 學號 課程號 4.2邏輯結構設計 表 1、表名稱:bkb表類型:約束表含義:班級報考表 字段名稱 字段類型 Null 含義 示例數(shù)據(jù) id 整形 否,自增 主鍵列 1 n ame 字符 值 八班 2、表名稱:cjb表類型:約束表含義:班級成績表(打印表) 字段名稱 字段類型 Null 含義 示例數(shù)據(jù) id 整形 否,自增 主鍵列 1 cjb id 整形 否 外鍵列 1 n ame 字符 值 八班 3、表名稱:jhcjb表類型:約束表含義:班級計劃成績表(顯示和打印) 字段名稱 字段類型 Null 含義 示例數(shù)據(jù) id 整形 否,自增 主鍵

8、列 1 n ame 字符 值 八班 4、表名稱:hks表類型:約束表含義:班計劃學期考試課程表 字段名稱 字段類型 Null 含義 示例數(shù)據(jù) id 整形 否,自增 主鍵列 1 fan ggua nsuo id 整形 否 外鍵列 1 n ame 字符 值 長三 5、表名稱:hxq表類型:約束表含義:班計劃學期課程開設表 字段名稱 字段類型 Null 含義 示例數(shù)據(jù) id 整形 否,自增 主鍵列 1 n ame 字符 值 英語 fen shu 整形 分數(shù) 4 6、表名稱: xjh 表類型:約束表 含義:班教學計劃信息表 參見bkb表 7、表名稱: xxb 表類型: 約束表 含義: 班注冊和檔案表

9、參見bkb表 8、表名稱: kbpdfb 表類型: 約束表 含義: 報考編排登分表 參見bkb表 9、表名稱: ctdmkb_tmp 表類型: 約束表 含義: 畢業(yè)課程替代免考表 參見cjb表 10、表名稱: ctdmkb 表類型: 約束表 含義: 畢業(yè)課程替代免考表 參見cjb表 11、表名稱: ysmdb 表類型: :約束表 含義: 畢業(yè)生名單 參見cjb表 12、表名稱: ycymdb 表類型: :約束表 含義: 畢業(yè)預審審核差異名單表 參見cjb表 13、表名稱: yyshsdfb 表類型: :約束表 含義: 畢業(yè)預審審核得分表 參見 ycymdb i表 14、表名稱: yyshsdf

10、b_tmp 表類型: :實體表 含義: 畢業(yè)預審審核得分表 字段名稱 字段類型 Null 含義 示例數(shù)據(jù) id 整形 否,自增 主鍵列 zhaidihao 字符 宅第號 zhuanghao 字符 幢號 diquleibie 字符 地區(qū)類別 限定:一類/二 類/三類 cha nbie 字符 產(chǎn)別 限定:直管/自 管/托管 chanquanzhenghao 字符 產(chǎn)權證號 jiuqu 整形 :舊區(qū) 約束表:qu jiuxiaoqu 整形 :舊小區(qū) 約束表:xiaoqu jiulouhao 字符 舊樓號 xinqu 整形 新區(qū) 約束表:qu xin xiaoqu 整形 新小區(qū) 約束表:xiaoqu

11、xinlo uhao 字符 新樓號 jiegou 整形 結構 約束表:jiegou zongcengshu 整形 總層數(shù) 3 瀏覽權限 En able = True; 修改 User ID=; 修改 Pass Word :=; 修改權限 En able = True; 修改 User ID =; 修改 Pass Word :=; 2.采用WinXP下程序組、程序項的原理組織各執(zhí)行模塊: 登陸服務器 基礎維護 教學管理 報表統(tǒng)計 退出 各程序組、程序項的顯示分別可以是分層/樹狀/大圖標/小圖標等方式;各程序 項或菜單項的名稱命名為相應功能模塊的目標代碼文件名。 3.2.各具體模塊如下: 模塊1名

12、稱:班級信息維護 輸入:班級信息維 護 廠處理:維護管理該校各班級基本信息 輸出:各班級信息 數(shù)據(jù)表: J班級信息表 模塊2名稱:學生基本信息維護 輸入:學生基本信息 廠處理:維護管理學生基本信息 輸出:學生基本信 息 數(shù)據(jù)表: J學生信息表 模塊3名稱:課程信息維護 輸入:課程信息維 護 廠處理:維護管理課程基本信息 輸出:課程信息 數(shù)據(jù)表: J課程信息表 模塊4名稱:學生選課信息 輸入:學生選課信息 廣Y處理:維護管理學生選課信息 輸出:學生選課信 息 數(shù)據(jù)表: J學生基本信息表 課程信息表 模塊5名稱:課表查詢 輸入:課表查詢 廣Y處理:維護管理課表查詢信息 輸出:所查班級課表 數(shù)據(jù)表:

13、 學生基本信息表 班級信息表 模塊6名稱:成績輸入 輸入:成績輸入 廠處理:維護管理成績輸入信息 輸出:成績 數(shù)據(jù)表: J學生基本信息表 課程信息表 模塊7名稱:教師信息為維護 輸入:教師信息為 維護 廠處理:維護管理教師信息 輸出:教師信息 數(shù)據(jù)表: J教師信息表 4. 具體設計: 設計功能實現(xiàn) 包括:班級信息維護,學生信息維護,課程信息維護,學生選課,課表查詢,成績輸入,報 表統(tǒng)計,退出系統(tǒng) Public Class frmMain In herits System.Wi ndows.Forms.Form Private Function GetInstanceState(ByVal na

14、me As String) As Boolean 獲得frmMain窗體的子窗體的數(shù)量 Dim i As Integer = Me.MdiChildren.Length 循環(huán)判斷是否有名為name的子窗體實例 For i = 0 To Me.MdiChildren.Length - 1 If Me .MdiChildren(i).Name = name Then 存在名為name的子窗體,是子窗體獲得焦點并返回True Me.MdiChildren(i).Focus() Return True End If Next 不存在名為Name的子窗體False Return False End Fu

15、nction Private Sub mnClass_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnClass.Click If GetInstanceState(frmClass ) Then Exit Sub End If Dim childFrm As frmClass = New frmClass childFrm.MdiParent = Me childFrm.Show() End Sub Private Sub mnStudent_Click( ByVal sender As

16、 System.Object, ByVal e As System.EventArgs) Handles mnStudent.Click If GetInstanceState(frmStudent ) Then Exit Sub End If Dim childFrm As frmStudent = New frmStudent childFrm.MdiParent = Me childFrm.Show() End Sub Private Sub mnSubject_Click( ByVal sender As System.Object, ByVal e As System.EventAr

17、gs) Handles mnSubject.Click If GetInstanceState(frmSubject ) Then Exit Sub End If Dim childFrm As frmSubject = New frmSubject childFrm.MdiParent = Me childFrm.Show() End Sub Private Sub mnSelect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnSelect.Click If GetInstanceSt

18、ate(frmSelect ) Then Exit Sub End If Dim childFrm As frmSelect = New frmSelect childFrm.MdiParent = Me childFrm.Show() End Sub Private Sub mnCourse_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnCourse.Click If GetInstanceState(frmCourse ) Then Exit Sub End If Dim child

19、Frm As frmCourse = New frmCourse childFrm.MdiParent = Me childFrm.Show() End Sub Private Sub mnResult_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnResult.Click If GetInstanceState(frmScore ) Then Exit Sub End If Dim childFrm As frmScore = New frmScore childFrm.MdiPare

20、nt = Me childFrm.Show() End Sub Private Sub mnReport_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnReport.Click If GetInstanceState(frmReport ) Then Exit Sub End If Dim childFrm As frmReport = New frmReport childFrm.MdiParent = Me childFrm.Show() End Sub Private Sub mn

21、Exit_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnExit.Click End Sub End Class 5. 基礎維護: 5.1班級信息維護 苗 frmBae K4 卜1 D 助 X 首記錄上記錄下記錄 尾記錄 刪【余 保殍 退岀 囲嶺挙班級編號 下記錄, 查尾記錄,新 實現(xiàn)的功能包括:查看首記錄:表中首個班級記錄,上記錄, 增,修改,刪除等 可實現(xiàn)模糊搜索功能即:輸入班級編號可查詢相關班級信息 如下所示: Public Class frmBase In herits Syst

22、em.Wi ndows.Forms.Form Protected bmData As Bindin gMa nagerBase Protected dtData As DataTable bAdd = true 為新增 bAdd = false 為修改 Protected bAdd As Boolean Private Sub frmBase_Load( ByVai sender As Object, _ ByVal e As System.EventArgs) Handles MyBase .Load Prepare。 SetDataGrid() SetTextBoxState(True)

23、End Sub Private Sub ToolBar1_ButtonClick( ByVal sender As Object, _ ByVal e As ToolBarButto nClickEve ntArgs) _ Ha ndles ToolBarl.Butto nClick Select Case e.Button.Text Case首記錄” 返回首記錄 bmData.Positi on = 0 Case上記錄” If bmData.Position 0 Then bmData.Position -= 1 End If Case下記錄” If bmData.Position bmDa

24、ta.Count Then bmData.Position += 1 End If Case 尾記錄 返回尾記錄 bmData.Position = bmData.Count Case 新增 Me.dgdList.Enabled = False SetTextBoxState(False) SetToolBarState(False) bAdd = True Clear() Case 修改 Me.dgdList.Enabled = False SetTextBoxState(False) SetToolBarState(False) bAdd = False Case 刪除 彈出詢問對話框 D

25、im dlgResult As DialogResult = _ MessageBox.Show( 你確認刪除此數(shù)據(jù)? 刪除 , MessageBoxButtons.OKCancel) If dlgResult = DialogResult.OK Then DeleteData() End If Case 保存 SetToolBarState(True) SetTextBoxState(True) If bAdd = True Then 為新增數(shù)據(jù)保存 SaveForAdd() Else 為更新數(shù)據(jù)保存 SaveForUpdate() End If Me.dgdList.Enabled = T

26、rue Case 取消 SetTextBoxState(True) SetToolBarState(True) Me.dgdList.Enabled = True SearchResult() Case 退出 關閉本窗體 Me.Close() End Select Try Me .dgdList.CurrentRowIndex = bmData.Position SetData() Catch ex As Exception End Try End Sub Private Sub btnSearch_Click( ByVal sender As System.Object, _ ByVal e

27、 As System.EventArgs) Handles btnSearch.Click SearchResult() End Sub Private Sub dgdList_CurrentCellChanged( ByVal sender As Object , _ ByVal e As System.EventArgs) Handles dgdList.CurrentCellChanged Try 判斷bmData是否為Nothing If bmData Is Nothing Then Exit Sub End If If bmData.Position dgdList.CurrentC

28、ell.RowNumber Then bmData.Position = dgdList.CurrentCell.RowNumber SetData() End If Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub Private Sub SetToolBarState(ByVal bState As Boolean) 設置 Button 的是否能夠單擊 ToolBar1.Buttons(0).Enabled = bState ToolBar1.Buttons(1).Enabled = bState Tool

29、Bar1.Buttons(2).Enabled = bState ToolBar1.Buttons(3).Enabled = bState ToolBar1.Buttons(4).Enabled = bState ToolBar1.Buttons(5).Enabled = bState ToolBar1.Buttons(6).Enabled = bState ToolBar1.Buttons(7).Enabled = Not bState ToolBar1.Buttons(8).Enabled = Not bState End Sub Public Overridable Sub Prepar

30、e() End Sub 設置 DataGrid 控件 Public Overridable Sub SetDataGrid() End Sub 查詢函數(shù) Public Overridable Sub SearchResult() SetDataGrid() dgdList.DataSource = dtData.DefaultView End Sub 新增函數(shù) Public Overridable Sub LoadData() End Sub Public Overridable Sub SaveForAdd() End Sub 更新函數(shù) Public Overridable Sub Save

31、ForUpdate() End Sub 刪除函數(shù) Public Overridable Sub DeleteData() End Sub 清除函數(shù) Public Overridable Sub Clear() End Sub 設置 TextBox 函數(shù) Public Overridable Sub SetTextBoxState( ByVal bState As Boolean ) End Sub Public Overridable Sub SetData() End Sub End Class 5.2學生信息維護 實現(xiàn)的功能包括:查看首記錄,上記錄, 下記錄, 查尾記錄,新增,修改,刪除等

32、 可實現(xiàn)模糊搜索功能 如下所示: Public Class frmStudent Inherits教務管理系統(tǒng).frmBase Public Overrides Sub Prepare。 Me .Text =學生信息維護” Me.Label1.Text = 學號” Me.Label2.Text = 姓名 Me.Label3.Text = 年級 設置 ComboBox 控件數(shù)據(jù)源 Dim db As DataBase = New DataBase Dim dv As DataView = db.RunSelectSQL _ (select 班級編號 ,班級名稱 from 班級信息 order b

33、y 班級名稱 ) Me.cbbClassId.DataSource = dv Me.cbbClassId.DisplayMember = 班級名稱 Me.cbbClassId.ValueMember = 班級編號 dv = db.RunSelectSQL _ (select 政治面貌編號 ,政治面貌 from 政治面貌代碼表 ) Me.cbbPolity.DataSource = dv Me.cbbPolity.DisplayMember = 政治面貌 Me.cbbPolity.ValueMember = 政治面貌編號 dv = db.RunSelectSQL( select 民族編號 ,民族

34、 from 民族代碼表 ) Me.cbbNation.DataSource = dv Me.cbbNation.DisplayMember = 民族 Me.cbbNation.ValueMember = 民族編號 dv = db.RunSelectSQL( select 籍貫編號 ,籍貫 from 籍貫代碼表 ) Me.cbbBirthPlace.DataSource = dv Me.cbbBirthPlace.DisplayMember = 籍貫 Me.cbbBirthPlace.ValueMember = 籍貫編號 dv = db.RunSelectSQL( select 學籍編號 ,學籍

35、名稱 from 學籍代碼表 ) Me.cbbStatus.DataSource = dv Me.cbbStatus.DisplayMember = 學籍名稱 Me.cbbStatus.ValueMember = 學籍編號 db.Dispose() End Sub Public Overrides Sub LoadData() Dim strFilter As String If txbOne.Text.Trim.Length = 0 Then If txbTwo.Text.Trim.Length = 0 Then If txbThree.Text.Trim.Length = 0 Then st

36、rFilter = Else strFilter = where 年級 like strFilter += txbThree.Text.Trim + % End If Else strFilter = where 姓名 like strFilter += txbTwo.Text.Trim + % If txbThree.Text.Trim.Length 0 Then strFilter += and 年級 like strFilter += txbThree.Text.Trim + % End If End If Else strFilter = where 學號 like strFilter

37、 += txbOne.Text.Trim + % If txbTwo.Text.Trim.Length 0 Then strFilter += and 姓名 like strFilter += txbTwo.Text.Trim + % If txbThree.Text.Trim.Length 0 Then strFilter += and 年級 like strFilter += txbThree.Text.Trim + % End If Else If txbThree.Text.Trim.Length 0 Then strFilter += and 年級 like strFilter +=

38、 txbThree.Text.Trim + % End If End If End If 清空 DataSet11 DataSet11.Clear() SqlConnection1.ConnectionString = DataBase.sConn Dim strSQL As String SqlDataAdapter1.SelectCommand.CommandText _ = select * from 學生信息 + strFilter 根據(jù)查詢條件重新填充 DataSet11 SqlDataAdapter1.Fill(DataSet11) dtData = DataSetll.Table

39、s(” 學生信息) If dtData.Columns.Count 15 Then dtData.Columns.Add( 班級) dtData.Columns.Add( 政治面貌 ) dtData.Columns.Add( 民族) dtData.Columns.Add( 籍貫) dtData.Columns.Add( 學籍) End If bmData = Me .BindingContext(DataSet1 1, 學生信息 ) If bmData.Count 0 Then bmData.Position = 0 End If End Sub Public Overrides Sub Se

40、tDataGrid() LoadData() 定義一個 DataGrid 表樣式 Dim ts As New DataGridTableStyle Dim aColumnTextColumn As DataGridTextBoxColumn Dim numCols As Integer = dtData.Columns.Count Dim i As Integer For i = 0 To numCols - 1 If i = 6 Then i = 10 End If aColumnTextColumn = New DataGridTextBoxColumn aColumnTextColumn

41、.MappingName = _ dtData.Columns(i).ColumnName aColumnTextColumn.HeaderText = _ dtData.Columns(i).ColumnName aColumnTextColumn.NullText = aColumnTextColumn.ReadOnly = True aColumnTextColumn.Width = 55 ts.GridColumnStyles.Add(aColumnTextColumn) Next ts.AlternatingBackColor = Color.LightGray ts.AllowSo

42、rting = False ts.MappingName = dtData.TableName dgdList.TableStyles.Clear() dgdList.TableStyles.Add(ts) Dim dv As DataView = dtData.DefaultView dv.AllowNew = False dv.AllowDelete = False dv.AllowEdit = False 設置數(shù)據(jù)源 dgdList.DataSource = dtData.DefaultView bmData = Me.BindingContext(DataSet11, 學生信息 ) l

43、blCount.Text = 記錄數(shù) : + dtData.Rows.Count.ToString() SetDetailData() End Sub Private Sub SetDetailData() Dim dtClassId, dtPolity, dtNation, _ dtBirthPlace, dtStatus As DataTable Dim db As DataBase = New DataBase dtClassId = db.RunSelectSQL _ (select 班級編號 ,班級名稱 from 班級信息 order by 班級名稱 ).Table dtPolity

44、 = db.RunSelectSQL _ (select 政治面貌編號 ,政治面貌 from 政治面貌代碼表 ).Table dtNation = db.RunSelectSQL _ (select 民族編號 ,民族 from 民族代碼表 ).Table dtBirthPlace = db.RunSelectSQL _ (select 籍貫編號 ,籍貫 from 籍貫代碼表 ).Table dtStatus = db.RunSelectSQL _ (select 學籍編號 ,學籍名稱 from 學籍代碼表 ).Table Dim dv As DataView For i As Integer

45、= 0 To dtData.Rows.Count - 1 dv = dtClassId.DefaultView dv.RowFilter = 班級編號 = + dtData.Rows(i)( 班級編號 ) + dtData.Rows(i)( 班級 ) = dv(0)(1) dv = dtPolity.DefaultView dv.RowFilter = 政治面貌編號 = + dtData.Rows(i)( 政治面貌編號 ) + dtData.Rows(i)( 政治面貌 ) = dv(0)(1) dv = dtNation.DefaultView dv.RowFilter = 民族編號 = +

46、dtData.Rows(i)( 民族編號 ) + dtData.Rows(i)( 民族 ) = dv(0)(1) dv = dtBirthPlace.DefaultView dv.RowFilter = 籍貫編號 = + dtData.Rows(i)( 籍貫編號 ) + dtData.Rows(i)( 籍貫 ) = dv(0)(1) dv = dtStatus.DefaultView dv.RowFilter = 學籍編號 = + dtData.Rows(i)( 學籍編號 ) + dtData.Rows(i)( 學籍 ) = dv(0)(1) Next End Sub Public Overr

47、ides Sub SetTextBoxState(ByVal bState As Boolean) Me.GroupBox1.Enabled = Not bState End Sub Public Overrides Sub Clear() Me.txbClassId.Text = Me.txbGrade.Text = Me.txbName.Text = Me.txbPID.Text = Me.cbbBirthPlace.Text = Me.cbbClassId.Text = Me.cbbNation.Text = Me.cbbPolity.Text = Me.cbbSex.Text = Me

48、.cbbStatus.Text = End Sub Public Overrides Sub SaveForAdd() Dim dr As DataRow = DataSet11.Tables(學生信息 ”).NewRow() Try dr(學號)=Me.txbClassld.Text.Trim dr(姓名)=Me .txbName.Text.Trim dr(年級)=Me .txbGrade.Text.Trim dr(性別)=Me .cbbSex.Text.Trim dr(年級)=Me .txbGrade.Text.Trim dr( 身份證號 ) = Me.txbPID.Text.Trim d

49、r( 政治面貌編號 ) = Me.cbbPolity.SelectedValue dr( 民族編號 ) = Me.cbbNation.SelectedValue dr( 籍貫編號 ) = Me.cbbBirthPlace.SelectedValue dr( 班級編號 ) = Me.cbbClassId.SelectedValue dr( 學籍編號 ) = Me.cbbStatus.SelectedValue Catch ex As Exception MessageBox.Show( 數(shù)據(jù)格式不正確! ) Return End Try Try DataSet11.Tables(學生信息 ”).

50、Rows.Add(dr) If Me.DataSet11.HasChanges = True Then SqlDataAdapter1.Update(DataSet11) End If Catch ex As Exception MessageBox.Show(ex.ToString) (數(shù)據(jù)添加失敗 !) End Try LoadData() dgdList.DataSource = dtData.DefaultView End Sub Public Overrides Sub DeleteData() Try 刪除當前行的數(shù)據(jù) DataSet11.Tables(學生信息)._ Rows(b

51、mData.Position).Delete() If Me.DataSet11.HasChanges = TrueThen 更新 DataSet11 SqlDataAdapter1.Update(DataSet11) End If Catch ex As Exception MessageBox.Show( 數(shù)據(jù)刪除失敗 !) End Try End Sub Public Overrides Sub SaveForUpdate() Try Dim row As Integer row = dgdList.CurrentCell.RowNumber dgdList.CurrentCell =

52、_ New DataGridCell(row + 1) Mod bmData.Count, 0) 判斷是否有更新的數(shù)據(jù) If Me.DataSet11.HasChanges = TrueThen SqlDataAdapterl.Update(DataSetll) End If Catch ex As Excepti on MessageBox.Show(數(shù)據(jù)修改失敗!) End Try End Sub Private Sub frmStudent_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

53、MyBase.Load End Sub End Class 5.3課程信息維護 實現(xiàn)的功能包括:查看首記錄:表中首個班級記錄,上記錄,下記錄, 查尾記錄,新 增,修改,刪除等 可實現(xiàn)模糊搜索功能 如下所示: Public Class frmSelect In herits System.Wi ndows.Forms.Form Private dtData As DataTable Private dtSubject As DataTable Private Sub btnSearch_Click( ByVal sender As System.Object, _ ByVal e As Syst

54、em.Eve ntArgs) Han dles bt nSearch.Click SetDGDSubject() End Sub Private Sub btnSelect_Click( ByVal senderAs System.Object, _ ByVal e As System.Eve ntArgs) Han dles bt nSelect.Click If dgdList.Curre ntCell.RowNumber = -1 Or _ dgdSubject.Curre ntCell.RowNumber = -1 The n Exit Sub End If Dim db As Dat

55、aBase = New DataBase Dim dv As DataView Dim strSQL As String = Dim strTmp As String = dtSubject. _ Rows(dgdSubject.Curre ntCell.RowNumber)(1).ToStri ng.Trim() strSQL = select * from 選課表 where 學號=+ txbId.Text.Trim strSQL += and課序號in (select課序號from 課程表where課程編號= strSQL += strTmp + ) dv = db.Ru nSelect

56、SQL(strSQL) If dv.Count 0 Then MessageBox.Show(該課程已經(jīng)選擇!) db.Dispose() Exit Sub End If Dim strCId As String = dtSubject. _ Rows(dgdSubject.CurrentCell.RowNumber)(0).ToString.Trim() strSQL = select * from 選課表 as a, 課程表 as b strSQL += where a.課序號=b.課序號 and a學號= strSQL += txbId.Text.Trim + and 100*b. 上課

57、時間天 + strSQL += b. 上課時間節(jié) in (select 100* 上課時間天 +上課時間節(jié) strSQL += from 課程表 where 課序號 = + strCId + ) dv = db.RunSelectSQL(strSQL) If dv.Count 0 Then MessageBox.Show(該課序號時間和已經(jīng)選擇的課程沖突!) Exit Sub Else strSQL = insert into 選課表 (學號 ,課序號 ) values( strSQL += txbId.Text.Trim + , + strCId + ) db.RunDelOrInsSQL(

58、strSQL) strSQL = select c.學號,a課序號,b.課程名稱,b.教師,b.開課系別, strSQL += a.上課時間天,a.上課時間節(jié)月上課地點from 選課表” strSQL += as c, 課程表 as a, 課程信息 as b where strSQL += a.課程編號=b.課程編號and c.課序號=a.課序號and學號= strSQL += txbld.Text.Trim + order by a.課序號” dv = db.RunSelectSQL(strSQL) dv.AllowDelete = False dv.AllowEdit = False dv

59、.AllowNew = False dtData = dv.Table Me.dgdList.DataSource = dtData End lf db.Dispose() End Sub Private Sub btnDel_Click( ByVal senderAs System.Object, _ ByVal e As System.EventArgs) Handles btnDel.Click lf Me.dgdList.CurrentCell.RowNumber = -1 Then Exit Sub End lf Dim dlgResult As DialogResult = Mes

60、sageBox. _ Show(確定刪除指定的已選課程嗎?,提示,_ MessageBoxButtons.YesNo) lf dlgResult = DialogResult.Yes Then Dim strCld As String = dtData. _ Rows(dgdList.CurrentCell.RowNumber)(1).ToString.Trim() Dim strSQL As String = delete from 選課表 where 學號 = strSQL += Me .txbId.Text.Trim strSQL += and 課序號 = + strCId + Dim

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論