版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 信息工程學(xué)院課程設(shè)計(jì)報(bào)告設(shè)計(jì)名稱: 數(shù)據(jù)庫課程設(shè)計(jì) 姓 名:學(xué) 號(hào):專業(yè)班級(jí):系 (院):設(shè)計(jì)時(shí)間:設(shè)計(jì)地點(diǎn):指導(dǎo)老師:一課程設(shè)計(jì)目的數(shù)據(jù)庫課程設(shè)計(jì)是為數(shù)據(jù)庫原理與應(yīng)用課程而獨(dú)立開設(shè)的實(shí)踐性課程,對(duì)于鞏固數(shù)據(jù)庫知識(shí),加強(qiáng)學(xué)生的實(shí)際動(dòng)手能力和提高學(xué)生綜合素質(zhì)十分必要。通過本實(shí)驗(yàn)達(dá)到以下目的:(1) 培養(yǎng)學(xué)生具有C/S和B/S/S模式的數(shù)據(jù)庫應(yīng)用軟件系統(tǒng)的設(shè)計(jì)和開發(fā)能力。(2) 熟練掌握一種數(shù)據(jù)庫系統(tǒng)(如SQL SERVER)的使用。(3) 熟練掌握一種數(shù)據(jù)庫應(yīng)用軟件開發(fā)工具(如POWERBUILDER 、ASP、VB.NET)的使用。(4) 通過設(shè)計(jì)實(shí)際的數(shù)據(jù)庫系統(tǒng)應(yīng)用課題,進(jìn)一步熟悉數(shù)據(jù)庫管
2、理系統(tǒng)的操作技術(shù),提高動(dòng)手能力,提高分析問題和解決問題的能力。二課程設(shè)計(jì)任務(wù)與要求:1、任務(wù):學(xué)生選課系統(tǒng)問題描述:1) 學(xué)校現(xiàn)有課程若干門。2) 課程表的信息有課程號(hào)、名字、學(xué)分、學(xué)期、課時(shí)等。3) 學(xué)生表的信息有學(xué)生號(hào)、名字、性別、年齡、。4) 選課表的信息有選修課程號(hào)、學(xué)生的學(xué)號(hào)、課程學(xué)分。5) 用戶表信息有用戶名、用戶密碼、用戶權(quán)限。2、設(shè)計(jì)要求:1) 實(shí)現(xiàn)學(xué)生表中學(xué)生信息的插入、修改、刪除。2) 實(shí)現(xiàn)課程表中課程信息的插入、修改、刪除。3) 實(shí)現(xiàn)選課表中得選修課程的選課信息查詢、進(jìn)行課程選擇。4) 管理員進(jìn)行登陸后才能訪問此數(shù)據(jù)庫。5)設(shè)計(jì)一完整的數(shù)據(jù)庫。要求掌握數(shù)據(jù)庫的設(shè)計(jì)的每個(gè)步
3、驟;掌握數(shù)據(jù)設(shè)計(jì)各階段的輸入、輸出、設(shè)計(jì)環(huán)境、目標(biāo)和方法;熟練的使用SQL語言實(shí)現(xiàn)數(shù)據(jù)庫以與數(shù)據(jù)庫重要對(duì)象的建立、應(yīng)用和維護(hù)。三課程設(shè)計(jì)說明書1 需求分析(1)數(shù)據(jù)需求學(xué)生選修信息系統(tǒng)需要完成功能主要有:1、課程基本信息的輸入查詢、修改、刪除,包括課程號(hào)、課程名字、學(xué)期、課程學(xué)分等。2、學(xué)生基本信息的的輸入查詢、修改、刪除,包括學(xué)號(hào)、學(xué)生、學(xué)生性別、學(xué)生年齡、系別等。3、學(xué)生選課的基本信息的選課信息查詢、學(xué)生進(jìn)行課程選擇。4、管理員的基本信息的輸入、查詢、修改、包括用戶名、密碼。(2)事務(wù)需求在課程信息部分,要求:a.可以查詢課程信息。b.可以對(duì)課程信息進(jìn)行插入、修改與刪除的操作。在學(xué)生信息部
4、分,要求:a.可以查詢學(xué)生信息:b.可以對(duì)學(xué)生信息進(jìn)行維護(hù),包括插入、修改與刪除的操作。在學(xué)生選課信息管理部分,要求:。a.可以學(xué)生選課信息。b.可以對(duì)學(xué)生選課信息進(jìn)行查詢與學(xué)生選課操作。在用戶登錄信息管理部分,要求:a.能夠使用用戶信息進(jìn)行登錄訪問b.可以對(duì)用戶個(gè)人信息進(jìn)行修改、刪除維護(hù)操作 (3)關(guān)系模式(1)課程類別(課程編號(hào),課程名、課程學(xué)分、學(xué)期、課程學(xué)時(shí))(2)學(xué)生類別(學(xué)生號(hào),學(xué)生,學(xué)生性別,學(xué)生年齡,學(xué)生系別 )(3) 學(xué)生選課類別(課程號(hào),學(xué)生號(hào),學(xué)生成績(jī))(4) 用戶類別(用戶名,用戶密碼,用戶權(quán)限)(4)數(shù)據(jù)流程圖(DFD)課程信息查詢課程信息課程信息分?jǐn)?shù)信息學(xué)生信息課程
5、信息息用戶用戶用戶用戶用戶學(xué)生信息管理系統(tǒng)用戶分?jǐn)?shù)查詢用戶用戶學(xué)生信息查詢學(xué)生用戶分?jǐn)?shù)信息用戶刪除修改信息圖1-1頂層數(shù)據(jù)流圖登 錄P1F1P3刪除修改查詢P2管理P4D2D3D4D1F2F3F5F4圖1-2一層數(shù)據(jù)流圖P數(shù)據(jù)流數(shù)據(jù)處理D數(shù)據(jù)存儲(chǔ)F注:D1 用戶表D2 課程表 D3 成績(jī)表D4 學(xué)生表F1 登錄信息F3,F4,F(xiàn)5各種選課、學(xué)生信息 F2 用戶信息F6各種信息P2.1選擇查詢F5.1P2.2課程信息查詢P2.3成績(jī)信息查詢P2.5學(xué)生信息查詢D3D2D4F7F5.3F5.2F5圖1-3二層數(shù)據(jù)流圖P4.1選擇P4.3學(xué)生信息管理P4.4課程信息管理P4.2成績(jī)信息管理D3D2D
6、4F4F4.1F4.2F4.3F8圖1-4二層數(shù)據(jù)流圖(5)數(shù)據(jù)字典 為了使各數(shù)據(jù)流,數(shù)據(jù)處理過程,存儲(chǔ)過程不能反映其中的數(shù)據(jù)成,數(shù)據(jù)項(xiàng)目,數(shù)據(jù)特性,所以用數(shù)據(jù)字典來對(duì)數(shù)據(jù)流圖中的各成份進(jìn)行具體的定義,為系統(tǒng)的分析,設(shè)計(jì)與以后的實(shí)現(xiàn)提供供有關(guān)元素一致性定義和詳細(xì)的描述數(shù)據(jù)流字典數(shù)據(jù)流名稱:讀者登錄 標(biāo)志符:F1別名:無來源:用戶去向:查詢處理過程(P)數(shù)據(jù)組成:用戶名+密碼+用戶權(quán)限數(shù)據(jù)流名稱:學(xué)生信息查詢 標(biāo)志符:F5.3別名:無來源:用戶去向: 查詢處理過程(P2.3)數(shù)據(jù)組成: 學(xué)號(hào)+性別+年齡+系別數(shù)據(jù)流名稱:課程信息查詢 標(biāo)志符:F5.1別名:無來源:用戶去向: 查詢處理過程(P2.
7、1)數(shù)據(jù)組成: 課程號(hào)+課程名+學(xué)分+學(xué)時(shí)+課時(shí)數(shù)據(jù)流名稱:成績(jī)信息查詢 標(biāo)志符:F5.2別名:無來源:用戶去向: 查詢處理過程(P2.2)數(shù)據(jù)組成: 學(xué)號(hào)+課程號(hào)+分?jǐn)?shù)數(shù)據(jù)流名稱:學(xué)生信息管理 標(biāo)志符:F4.2別名:無來源:用戶去向: 查詢處理過程(P4.2)數(shù)據(jù)組成: 學(xué)號(hào)+性別+年齡+系別數(shù)據(jù)流名稱:課程信息管理 標(biāo)志符:F4.3別名:無來源:用戶去向: 查詢處理過程(P4.3)數(shù)據(jù)組成:課程號(hào)+課程名+學(xué)分+學(xué)時(shí)+課時(shí)數(shù)據(jù)流名稱:成績(jī)信息管理 標(biāo)志符:F4.1別名:無來源:用戶去向: 查詢處理過程(P4.4)數(shù)據(jù)組成:學(xué)號(hào)+課程號(hào)+分?jǐn)?shù)數(shù)據(jù)存儲(chǔ)字典:數(shù)據(jù)存儲(chǔ)名稱:用戶數(shù)據(jù)庫 標(biāo)志符:D
8、1描述:所有用戶的信息流入數(shù)據(jù)流:F1涉與處理:P4 P5數(shù)據(jù)組成:用戶名+密碼+用戶權(quán)限數(shù)據(jù)存儲(chǔ)名稱:課程數(shù)據(jù)庫 標(biāo)志符:D2描述:所有課程信息的詳細(xì)資料流入數(shù)據(jù)流:F3涉與處理:P4 P5數(shù)據(jù)組成:課程號(hào)+課程名+學(xué)分+學(xué)時(shí)+課時(shí)數(shù)據(jù)存儲(chǔ)名稱:成績(jī)數(shù)據(jù)庫 標(biāo)志符:D3描述:所有用戶的成績(jī)數(shù)據(jù)詳細(xì)資料流入數(shù)據(jù)流:F3涉與處理:P4 P5數(shù)據(jù)組成:學(xué)號(hào)+課程號(hào)+分?jǐn)?shù)數(shù)據(jù)存儲(chǔ)名稱:學(xué)生數(shù)據(jù)庫 標(biāo)志符:D4描述:所有學(xué)生信息的詳細(xì)資料流入數(shù)據(jù)流:F3涉與處理:P4 P5數(shù)據(jù)組成:學(xué)號(hào)+性別+年齡+系別數(shù)據(jù)處理字典:數(shù)據(jù)處理名稱:用戶登錄 標(biāo)志符:P1處理定義:登錄系統(tǒng) 激發(fā)條件:所輸入用戶民和密碼
9、正確輸入:F1輸出:F4,F5,F6數(shù)據(jù)處理名稱:查詢選擇 標(biāo)志符:P2.1處理定義:選擇查詢方式 激發(fā)條件:已選擇查詢方式輸入:F5輸出:F7數(shù)據(jù)處理名稱:學(xué)生查詢選擇 標(biāo)志符:P2.2處理定義:選擇查詢方式 激發(fā)條件:已選擇查詢方式輸入:F4輸出:F7數(shù)據(jù)處理名稱:成績(jī)查詢選擇 標(biāo)志符:P2.3處理定義:選擇查詢方式 激發(fā)條件:已選擇查詢方式輸入:F4輸出:F7數(shù)據(jù)處理名稱:課程查詢選擇 標(biāo)志符:P2.4處理定義:選擇查詢方式 激發(fā)條件:已選擇查詢方式輸入:F4輸出:F7數(shù)據(jù)處理名稱:管理選擇 標(biāo)志符:P4.1處理定義:選擇管理功能 激發(fā)條件:選擇輸入:F4輸出:F8數(shù)據(jù)處理名稱:成績(jī)管理
10、選擇 標(biāo)志符:P4.2處理定義:選擇管理功能 激發(fā)條件:選擇輸入:F4輸出:F8數(shù)據(jù)處理名稱:學(xué)生管理選擇 標(biāo)志符:P4.3處理定義:選擇管理功能 激發(fā)條件:選擇輸入:F4輸出:F8數(shù)據(jù)處理名稱:課程管理選擇 標(biāo)志符:P4.4處理定義:選擇管理功能 激發(fā)條件:選擇輸入:F4輸出:F82 概要設(shè)計(jì)(1)實(shí)體圖與E-R圖所要實(shí)現(xiàn)的功能設(shè)計(jì),可能建立它們之間的關(guān)系,進(jìn)而實(shí)現(xiàn)邏輯結(jié)構(gòu)功能。該選課系統(tǒng)可以劃分的實(shí)體有:用戶實(shí)體,學(xué)生實(shí)體,課程實(shí)體,選課記錄實(shí)體。用戶信息實(shí)體圖:用戶信息用戶密碼用戶XX用戶權(quán)限圖2-1 用戶實(shí)體與其屬性圖學(xué)生信息實(shí)體圖:學(xué)生信息所在系學(xué)生學(xué)號(hào)學(xué)生XX學(xué)生性別學(xué)生年齡圖2-
11、2 學(xué)生實(shí)體與其屬性圖課程信息實(shí)體圖課程信息課時(shí)課程編號(hào)課程名學(xué)分學(xué)期圖2-3 課程實(shí)體與其屬性圖選課記錄信息實(shí)體圖選課信息課程編號(hào)學(xué)生學(xué)號(hào)成績(jī)圖2-4 選課記錄實(shí)體與其屬性圖選修學(xué)生信息實(shí)體課程信息實(shí)體屬于用戶信息實(shí)體選課信息實(shí)體記錄記錄mn總的E-R圖:m111nm圖2-5 總的E-R圖3邏輯設(shè)計(jì)表3-1課程表表中列名數(shù)據(jù)類型可否為空說明CnoVarchar(10)not null(主鍵)課程號(hào)CnameVarchar(20)not null課程名Ccredtintnull學(xué)分Csemesterintnull學(xué)期Cperiodintnull課時(shí)表3-2學(xué)生表表中列名數(shù)據(jù)類型可否為空說明Sn
12、oVarchar(10)not null(主鍵)學(xué)生號(hào)Snamevarchar(8)not nullSsexvarchar(2)not null性別Sageintnot null年齡SdeptVarchar(20)null院系表3-3成績(jī)表表中列名數(shù)據(jù)類型可否為空說明CnoVarchar(10)Not null(主鍵)課程號(hào)SnoVarchar(10)Not null(主鍵)學(xué)生號(hào)gradeintnull成績(jī)表3-4 用戶表表中列名數(shù)據(jù)類型可否為空說明userNameVarchar(16)Not null(主鍵)用戶名userPasswordVarchar(16)Not null密碼userP
13、urviewVarchar(8)null用戶權(quán)限4 關(guān)系圖4-15 物理設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)階段的任務(wù)是根據(jù)具體計(jì)算機(jī)系統(tǒng)(DBMS和硬件等)的特點(diǎn),為給定的數(shù)據(jù)庫模型確定合理的存儲(chǔ)結(jié)構(gòu)和存取方法。所謂的“合理”主要有兩個(gè)含義:一個(gè)是要使設(shè)計(jì)出的物理數(shù)據(jù)庫占用較少的存儲(chǔ)空間,另一個(gè)對(duì)數(shù)據(jù)庫的操作具有盡可能高的速度。主要體現(xiàn)在后者。(1) 建立索引: 對(duì)課程表在Cno屬性列上建立聚集索引,在Cname,Ccredt,Csemester,Cperiod屬性列上建立非聚集索引。 對(duì)學(xué)生表在Sno屬性列上建立聚集索引,在Sname,Ssex,Sage,Sdept屬性列上建立非聚集索引 對(duì)成績(jī)表在Cno,
14、Sno屬性列上建立聚集索引,在grade屬性列上建立非聚集索引 對(duì)用戶表在userName屬性列上建立聚集索引,在userPassword,userPurview屬性列上建立非聚集索引(2) 存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu),包括確定關(guān)系、索引、日志、備份等的存儲(chǔ)安排與存儲(chǔ)結(jié)構(gòu),以與確定系統(tǒng)存儲(chǔ)參數(shù)的配置。將日志文件和數(shù)據(jù)庫對(duì)象(表、索引等)分別放在不同的磁盤可以改進(jìn)系統(tǒng)的性能。所以系統(tǒng)將日志文件和數(shù)據(jù)文件存放在不同磁盤上。6.數(shù)據(jù)庫建立(1)創(chuàng)建數(shù)據(jù)庫create database lllon(name=lll_data,filename='E:sqll
15、ll_data.mdf',size=5MB,maxsize=20MB,filegrowth=2MB)log on(name=lll_log,filename='E:sqllll_log.ldf',size=1MB,maxsize=20MB,filegrowth=20%)(2)創(chuàng)建學(xué)生信息表create table 學(xué)生表 (Sno char(10) primary key,Sname char(10) unique,Ssex char(5),Sage int,Sdept char(8);(3)創(chuàng)建課程信息表create table 課程表 (Cno char(10),
16、Primary key (cno),Cname char(10),Ccredt char(10)Csemester char(10)Cperiod char(10);(4)創(chuàng)建成績(jī)表create table 成績(jī)表 (Sno char(10),Cno char(10), grade smallint, Primary key(sno,cno), foreign key(sno) references student(sno), foreign key(cno) references course(cno);(5)創(chuàng)建用戶表create table 用戶表 (userName char(10)u
17、serPassword char(20)userPurview char(10))7.數(shù)據(jù)初始化(1)往學(xué)生信息表插入數(shù)據(jù)insert into 學(xué)生表(Sno,Sname,Ssex,Sage,Sdept)values('11341','晨','男',20,'cs');insert into學(xué)生表values('11342','晨','女',19,'cs');insert into學(xué)生表values('11343','王敏','
18、女',18,'ma');insert into 學(xué)生表values('11344','立','男',20,'is');(2)往課程信息表插入數(shù)據(jù)insert into課程表(Cno Cname Ccredt Csemeste Cperiod)values('1001','數(shù)據(jù)庫','4',3,80);insert into課程表values('1002','數(shù)學(xué)','5,2,75');insert into課程表
19、values('1003','信息系統(tǒng)','4,2,65');insert into 課程表 values('1004','操作系統(tǒng)','3,3,90');(3)往成績(jī)表插入數(shù)據(jù)insert into 成績(jī)表(sno,cno,grade)values('11341','1001',92);insert into成績(jī)表values('11342','1002',85);insert into成績(jī)表values('11343'
20、;,'1003',88);insert into成績(jī)表values('11344','1004',90);(4)往用戶表插入數(shù)據(jù)insert into 用戶表(username userPassword userPurview)values(春振,123,超級(jí)用戶)insert into 用戶表values(龍龍,123,管理員)insert into 用戶表values(毋康康,123,一般用戶)insert into 用戶表values(呂斌,123,管理員)8數(shù)據(jù)庫權(quán)限管理該系統(tǒng)設(shè)置三種類型的用戶(1) 管理員:龍龍,呂斌(2) 超級(jí)用戶:
21、春振(3) 一般用戶:毋康康9、建立觸發(fā)器,存儲(chǔ)過程-建立學(xué)生信息管理的存貯過程create procedure studentmessageasbeginselect sno,sname from tbl_學(xué)生表endgoexec studentmessagego-建立課程信息的存貯過程create procedure coursemessageasbeginselect sno,sname from tbl_課程表endgoexec coursemessagego-創(chuàng)建觸發(fā)器score_grade_tricreate trigger score_grade_trion sc for ins
22、ert,updateasdeclare score_read intselect score_read=grade from insertedif score_read>=0 and score_read<=100beginprint '操作完成'returnendelsebeginprint '成績(jī)輸入不合法,請(qǐng)重新輸入!'rollback transactionend-創(chuàng)建觸發(fā)器triscsnocreate trigger triscsnoon sc for updateasif update(sno)begindeclare sno_old c
23、har(10),count intselect sno_old=sno from deletedselect count=count(*) from student where sno=sno_oldif count>0rollback transactionEnd10 系統(tǒng)實(shí)現(xiàn)(1) 系統(tǒng)功能模塊圖:系統(tǒng)功能模塊圖如圖10-1學(xué)生選課管理系統(tǒng)登錄子系統(tǒng)學(xué)生信息管理子系統(tǒng)課程信息管理子系統(tǒng)學(xué)生選課信息管理子系統(tǒng)學(xué)生信息添加學(xué)生信息修改學(xué)生信息刪除課程信息添加課程信息修改課程信息刪除選課信息的查詢進(jìn)行課程選擇圖10-1系統(tǒng)功能模塊圖四個(gè)子系統(tǒng)的功能如下:登錄子系統(tǒng): 可以實(shí)現(xiàn)學(xué)生選課系統(tǒng)管
24、理員。學(xué)生信息管理子系統(tǒng):主要用于管理員對(duì)學(xué)生信息添加、修改、刪除操作,實(shí)現(xiàn)學(xué)生信息數(shù)據(jù)的更新。課程信息管理子系統(tǒng):主要用于管理員對(duì)選修課程信息的添加、修改、刪除管理,實(shí)現(xiàn)課程信息數(shù)據(jù)的更新。成績(jī)表管理子系統(tǒng):主要用于管理員對(duì)選課信息的查詢和學(xué)生進(jìn)行選課操作。(2) 前臺(tái)開發(fā)平臺(tái)的選擇:VB.NET(3) VB.NET與數(shù)據(jù)庫的連接ADO.NET是VB.NET訪問數(shù)據(jù)庫的主要方式。ADO.NET的數(shù)據(jù)訪問方式ADO.NET 的數(shù)據(jù)存取API 提供3 種數(shù)據(jù)訪問方式:a)通過ODBC 相連,訪問支持早期ODBC 協(xié)議的數(shù)據(jù)庫。b)通過OLEDB 相連,訪問SQL Server2005, Micr
25、osoftAccess, Oracle 或者其他有提供OLE DB 連接能力的數(shù)據(jù)庫c)使用SqlConnection 直接SQL Server2005相連VB.NET訪問數(shù)據(jù)庫的具體過程a)創(chuàng)建數(shù)據(jù)庫連接ADO.NET 中使用sqlConnection 類對(duì)SQL Server2005以與更高版本進(jìn)行連接,這個(gè)類的構(gòu)造函數(shù)接受一個(gè)可選參數(shù),稱為連接字符串,該字符串用于定義正在連接的數(shù)據(jù)庫的類型、位置以與其他信息,這些屬性用分號(hào)分隔,通常該字符串包含如下信息:Data Source 特性:指定SQL Server 數(shù)據(jù)庫所在計(jì)算機(jī)名稱; Initial Catalog 特性:指定連接的SQL
26、Server 數(shù)據(jù)庫的名稱;userName 和userPassword 特性:指定用SQL SERVER登錄方式的有效名和密碼或設(shè)置為:integrated security=SSPI設(shè)置為Windows 登錄方式。b ) 填充數(shù)據(jù)創(chuàng)建數(shù)據(jù)源連接以后,接下來創(chuàng)建數(shù)據(jù)適配器,適配器在創(chuàng)建過程中需要向其傳遞兩個(gè)要素:用于包含結(jié)構(gòu)化查詢語句的數(shù)據(jù)描述和用于指明數(shù)據(jù)庫連接信息的連接描述,創(chuàng)建后可利用Fill 方法,將所需的數(shù)據(jù)填充在一個(gè)數(shù)據(jù)集(DataSet)中。c ) 關(guān)閉數(shù)據(jù)庫的連接由于DataSet采用是斷開連接的方式,所以當(dāng)把數(shù)據(jù)填充到數(shù)據(jù)集后即可斷開與數(shù)據(jù)庫的連接。d)為控件指定數(shù)據(jù)源數(shù)據(jù)
27、填充到數(shù)據(jù)集后,要在窗體上顯示出來,則必須把相應(yīng)的數(shù)據(jù)表綁定到數(shù)據(jù)控件上。具體實(shí)現(xiàn)代碼如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;namespace hcypublicclassDataBase publicSqlConnection dataConnection = newSqlConnection();publicSqlD
28、ataAdapter dataAdapter;publicDataSet dataSet = newDataSet();string connstr = "server=PC-20100908TULP;database=mysql;integrated security=SSPI"publicDataSet GetDataFormDB(string sqlStr) try dataConnection.ConnectionString = connstr; dataAdapter = newSqlDataAdapter(sqlStr, dataConnection); da
29、taSet.Clear(); dataAdapter.Fill(dataSet); dataConnection.Close(); catch (Exception ex) MessageBox.Show(ex.Message); dataConnection.Close(); if (dataSet.Tables0.Rows.Count != 0) return dataSet; else returnnull; publicbool UpdateDB(string sqlStr) SqlConnection sqlConn = newSqlConnection(connstr);try S
30、qlCommand cmdTable = newSqlCommand(sqlStr,sqlConn); cmdTable mandType = CommandType.Text; sqlConn.Open(); cmdTable.ExecuteNonQuery(); sqlConn.Close();returntrue; catch (Exception ex) MessageBox.Show(ex.Message);returnfalse; (4) 登錄系統(tǒng)模塊與代碼a) 學(xué)生成績(jī)管理系統(tǒng)登錄界面如圖10-2圖10-2學(xué)生選課系統(tǒng)登錄界面圖登陸代碼為:try DataBase db = ne
31、wDataBase();DataSet ds = newDataSet();string sqlStr = "select userPassword,userPurview from 用戶表 where userName='" + txtuserName.Text.Trim() + "'" ds = db.GetDataFormDB(sqlStr);string str1, str2,str3; str1 = ds.Tables0.Rows0.ItemArray0.ToString().Trim(); str3 = ds.Tables0.
32、Rows0.ItemArray1.ToString().Trim(); str2 = txtPassWord.Text.Trim();if (str1 = str2) if (str3 = comboBox1.Text.ToString().Trim() Form2 ob_Form2 = newForm2();shuzu.userInfo0 = txtuserName.Text.Trim();shuzu.userInfo1 = ds.Tables0.Rows0.ItemArray1.ToString(); ob_Form2.Show();this.Hide(); else MessageBox
33、.Show("用戶權(quán)限錯(cuò)誤,請(qǐng)重新輸入"); comboBox1.Text = "" comboBox1.Focus(); else MessageBox.Show("用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入"); txtuserName.Text = "" txtPassWord.Text = "" txtuserName.Focus(); catch MessageBox.Show("用戶名或密碼錯(cuò)誤","錯(cuò)誤"); 學(xué)生選課系統(tǒng)主界面如圖10-3略圖10-3學(xué)生
34、選課系統(tǒng)主界面學(xué)生信息管理界面如圖10-4 圖10-4學(xué)生信息管理界面可以進(jìn)行學(xué)生信息的添加、修改、刪除操作。代碼如下:try if (button1.Text.Trim() = "添加") button1.Text = "確定" ObjOpen(); Clear(); button2.Enabled = false; button3.Enabled = false; button4.Enabled = false; else button1.Text = "添加"if (txtID.Text.Trim() != "&quo
35、t; && txtName.Text.Trim() != "") string sqlStr; sqlStr = "insert into 學(xué)生表 values('" + txtID.Text.Trim() + "','" + txtName.Text.Trim() + "','" + comSex.Text.Trim() + "','" + txtAge.Text.Trim() + "','&qu
36、ot; + txtSdept.Text.Trim() + "')"DataBase db = newDataBase();bool b; b = db.UpdataDB(sqlStr);if (b = true) if (MessageBox.Show("添加成功!繼續(xù)添加嗎?", "添加學(xué)生", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes) /Clear();/Obj
37、Close(); RefresData();/button1.Text = "" Form3_Load(null, null); button2.Enabled = true; button3.Enabled = true; button4.Enabled = true; else ObjClose(); button2.Enabled = true; button3.Enabled = true; button4.Enabled = true; dgrdvStudent.Enabled = true; else goto exit; else MessageBox.Sho
38、w("學(xué)號(hào)和不能為空"); txtID.Focus(); button1.Text = "確定" RefresData(); txtID.SelectAll(); 修改:try if (button2.Text.Trim() = "修改") button2.Text = "確定" button1.Enabled = false; button3.Enabled = false; button4.Enabled = false; txtName.Enabled = true; txtAge.Enabled = tru
39、e; txtSdept.Enabled = true; comSex.Enabled = true; txtName.Focus(); else button2.Text = "修改" button1.Enabled = true; button3.Enabled = true; button4.Enabled = true; ObjClose();string sqlStr; sqlStr = "update 學(xué)生表 set Sname='" + txtName.Text.Trim() + "',Ssex='"
40、; + comSex.Text.Trim() + "',Sage='" + txtAge.Text.Trim() + "',Sdept='" + txtSdept.Text.Trim() + "' where Sno='" + txtID.Text.Trim() + "'"DataBase db = newDataBase(); db.UpdataDB(sqlStr); RefresData(); catch (Exception ex) MessageBox
41、.Show(ex.Message); 刪除try if (button3.Text.Trim() = "刪除") button3.Text = "確定" button1.Enabled = false; button2.Enabled = false; button4.Enabled = false; else button3.Text = "刪除" button1.Enabled = true; button2.Enabled = true; button4.Enabled = true; ObjClose();string sql
42、Str; sqlStr = "delete from 學(xué)生表 where Sno= '" + txtID.Text.Trim() + "'"DataBase db = newDataBase(); db.UpdataDB(sqlStr); RefresData(); Form3_Load(null, null); catch(Exception ex) MessageBox.Show(ex.Message); 課程信息管理界面如圖10-5所示:圖10-5課程信息管理界面可以進(jìn)行被選擇課程信息的添加、修改、刪除操作。代碼如下:添加:try
43、if (button1.Text.Trim() = "添加") button1.Text = "確定" ObjOpen(); Clear(); button2.Enabled = false; button3.Enabled = false; else button1.Text = "添加"if (txtCno.Text.Trim() != "" && ss.Text.Trim() != "") string sqlStr; sqlStr = "insert into 課程表 values('" + txtCno.Text.Trim() + "','" + txtCname.Text + "','" + txtCredit.Text.Tr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版?zhèn)€人住房貸款擔(dān)保合同匯編2篇
- 二零二五年度高效節(jié)水灌溉與機(jī)耕一體化服務(wù)合同3篇
- 醫(yī)療器械2025年度信息安全與隱私保護(hù)合同3篇
- 二零二五年度車輛抵押擔(dān)保擔(dān)保公司服務(wù)合同范本3篇
- 基于二零二五年度的智能家居技術(shù)服務(wù)合同2篇
- 二零二五版EPS線條工程節(jié)能評(píng)估與認(rèn)證合同3篇
- 二零二五版桉樹種植撫育及產(chǎn)品回收合同3篇
- 二零二五年度特色餐廳股權(quán)置換合同協(xié)議書3篇
- 二零二五年度航空貨運(yùn)服務(wù)保障合同3篇
- 二零二五版鍋爐安全檢查與安裝服務(wù)合同范本3篇
- 稽核管理培訓(xùn)
- 電梯曳引機(jī)生銹處理方案
- 電力電纜故障分析報(bào)告
- 中國電信網(wǎng)絡(luò)資源管理系統(tǒng)介紹
- 2024年浙江首考高考選考技術(shù)試卷試題真題(答案詳解)
- 《品牌形象設(shè)計(jì)》課件
- 倉庫管理基礎(chǔ)知識(shí)培訓(xùn)課件1
- 藥品的收貨與驗(yàn)收培訓(xùn)課件
- GH-T 1388-2022 脫水大蒜標(biāo)準(zhǔn)規(guī)范
- 高中英語人教版必修第一二冊(cè)語境記單詞清單
- 政府機(jī)關(guān)保潔服務(wù)投標(biāo)方案(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論