《NET技术》课程设计报告Word文档格式.docx
《《NET技术》课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《《NET技术》课程设计报告Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
运行数据库服务器程序的机器,也称为应用服务器。
一旦服务器程序被启动,就随时等待响应客户程序发来的请求;
客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。
(2)数据的储存管理功能较为透明。
在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。
所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。
在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。
在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
(3)C/S架构的劣势是高昂的维护成本且投资大。
首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
1.2系统功能结构
本系统主要的业务模块有系统管理模块、基本信息维护模块、查询管理模块和成绩管理模块,其中系统管理模块主要是实现用户登陆、修改密码、找回密码功能,基本信息维护模块主要实现对教师和学生信息的添加、删除和修改,查询管理模块主要实现查询成绩、对教师和学生信息的查询,成绩管理模块主要实现对学生成绩的录入与修改。
本系统涉及的用户有管理员、教师和学生。
功能模块图如下:
图1-2系统功能模块图
2.系统数据库设计与实现
(1)User——用户表
字段名称
说明
数据类型
长度
主/外键
约束
备注
UserName
用户名
变长字符型
10
主键
Password
密码
非空
Permission
权限
(2)Teach——授课表
TeacherID
教职工号
CourseID
课程代码
6
(3)Teacher——教师表
Tname
姓名
20
Tsex
性别
字符型
2
E-mail
邮箱
College
院部
(4)Course——课程表
Cname
课程名称
Cnature
课程性质
Credit
学分
单精度型
8
(5)Student——学生表
StudentID
学号
Sname
Ssex
Major
专业
”
Class
行政班
(6)Study——选修表
主键、外键
参照“学生表”
中的“StudentID”
整型
参照“课程表”中的“CourseID”
Year
学年
Term
学期
4
Score
成绩
图2-1数据库实现关系图
3.系统功能详细设计与实现
3.1系统管理子系统
系统子系统主要是完成:
用户的登录,找回密码,修改密码
‘定义公共类EditData
ImportsSystem.Data.OleDb
PublicClassEditData
SharedConnStrAsString="
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource=SSMS.mdb;
PersistSecurityInfo=True"
'
共享方法Insert
SharedFunctionInsert(ByValstrSQLAsString)AsInteger
DimconnAsOleDbConnection=NewOleDbConnection(ConnStr)
DimmyCommandAsOleDbCommand=NewOleDbCommand(strSQL,conn)
DimcountAsInteger=0
Try
conn.Open()
count=myCommand.ExecuteNonQuery()
CatchexAsOleDbException
MsgBox(ex.ToString)
CatchexAsException
Finally
conn.Close()
EndTry
Returncount
EndFunction
共享方法Delete
SharedFunctionDelete(ByValstrSQLAsString)AsInteger
MsgBox(ex.ToString())
共享方法Updata
SharedFunctionUpdate(ByValstrSQLAsString)AsInteger
共享方法Search
SharedFunctionSearch(ByValstrSQLAsString)AsDataTable
DimadapterAsNewOleDbDataAdapter
adapter.TableMappings.Add("
Table"
"
TEMP"
)
adapter.SelectCommand=myCommand
DimdsAsNewDataSet()
adapter.Fill(ds)
Returnds.Tables("
EndClass
‘我的类DBuser
PublicClassDBuser
PublicUserNameAsString'
PublicPasswordAsString'
PublicPermissionAsString'
PublicSnameAsString'
学生姓名
PublicStudentIDAsString'
PublicTeacherIDAsString'
PublicTnameAsString'
教师姓名
SubNew()
EndSub
SubNew(ByValNameAsString,ByValPWDAsString)
UserName=Name
Password=PWD
PublicFunctionLogin()AsBoolean
DimSQLStringAsString="
select*from[User]whereUserName='
"
&
UserName&
"
'
and[Password]='
Password&
DimUserTableAsDataTable=EditData.Search(SQLString)
IfUserTable.Rows.Count=0Then
MsgBox("
用户名或密码错误!
ReturnFalse
Else
Permission=UserTable.Rows(0)("
Permission"
ReturnTrue
EndIf
PublicSubGetSPassword(ByValStudentIDAsString,ByValSnameAsString)
select*fromStudentwhereStudentID='
StudentID&
andSname='
Sname&
学号或姓名错误!
SQLString="
select[Password]from[User]whereUserName='
密码:
EditData.Search(SQLString).Rows(0)("
Password"
))
PublicSubGetTPassword(ByValTeacherIDAsString,ByValTnameAsString)
select*fromTeacherwhereTeacherID='
TeacherID&
andTname='
Tname&
教职工号或姓名错误!
PublicSubModifyPassword(ByValUserNameAsString,ByValNPasswordAsString)
update[User]set[Password]='
NPassword+"
+"
whereUserName='
UserName+"
IfEditData.Update(SQLString)>
0Then
密码修改成功,请记住新密码!
PublicClassFPWForm
PrivateSubForm2_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
RadioButton1.Checked=True
Label3.Text="
PrivateSubButtonX1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonX1.Click
DimUserAsNewDBuser
IfTextBox1.Text="
Then
ErrorProvider1.SetError(TextBox1,"
用户名不能为空!
ElseIfTextBox2.Text="
ErrorProvider1.SetError(TextBox2,"
密码不能为空!
ElseIfRadioButton1.Checked=TrueThen
User.GetSPassword(TextBox1.Text,TextBox2.Text)
User.GetTPassword(TextBox1.Text,TextBox2.Text)
PrivateSubRadioButton2_CheckedChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesRadioButton2.CheckedChanged
IfRadioButton2.Checked=TrueThen
Label1.Text="
教职工号"
学号"
PublicClassMainForm
PrivateSubButtonItem8_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonItem8.Click
RibbonControl1.Office2007ColorTable=DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.Black
PrivateSubButtonItem9_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonItem9.Click
RibbonControl1.Office2007ColorTable=DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.Silver
PrivateSubButtonItem10_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonItem10.Click
RibbonControl1.Office2007ColorTable=DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.VistaGlass
PrivateSubButtonItem11_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonItem11.Click
RibbonControl1.Office2007ColorTable=DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.Blue
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
DimribbonTexts=RibbonControl1.SystemText
ribbonTexts.MaximizeRibbonText="
功能区最大化(&
M)"
ribbonTexts.MinimizeRibbonText="
功能区最小化(&
N)"
ribbonTexts.QatAddItemText="
添加到快速访问工具栏(&
A)"
ribbonTexts.QatCustomizeMenuLabel="
<
b>
自定义快速访问工具栏<
/b>
ribbonTexts.QatCustomizeText="
自定义快速访问工具栏(&
C)..."
ribbonTexts.QatDialogAddButton="
添加(&
A)>
>
ribbonTexts.QatDialogCancelButton="
取消"
ribbonTexts.QatDialogCaption="
自定义快速访问工具栏"
ribbonTexts.QatDialogCategoriesLabel="
选择命令(&
C):
ribbonTexts.QatDialogOkButton="
确定"
ribbonTexts.QatDialogPlacementCheckbox="
在功能区下方显示快速访问工具栏(&
P)"
ribbonTexts.QatDialogRemoveButton="
删除(&
R)"
ribbonTexts.QatPlaceAboveRibbonText="
在功能区上方显示快速访问工具栏(&
ribbonTexts.QatPlaceBelowRibbonText="
ribbonTexts.QatRemoveItemText="
从快速访问工具栏删除(&
PrivateSubButtonX2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonX2.Click
IfTextBoxX1.Text="
OrTextBoxX2.Text="
OrTextBoxX3.Text="
ElseIfTextBoxX1.Text<
LoginForm.TextBox2.TextThen
旧密码错误!
ElseIfTextBoxX2.Text<
TextBoxX3.TextThen
确认密码和新密码不相同!
User.ModifyPassword(LoginForm.TextBox1.Text,TextBoxX2.Text)
PrivateSubButtonItem13_Click(ByValsenderAsSystem.Object,ByValeAsS