中国矿业大学徐海学院
实验报告
课程名称 管理信息系统
姓名 李志谦 班级 工业10-2班 学号 成绩 教师
一、实验名称:管理信息系统综合实验
二、实验对象:工业工程专业
三、实验目的:
掌握管理信息系统中常规二维表数据的增加、修改、删除以及查询、报表等功能的设计方法。
四、实验内容
(一)有如下两张表:
开发一模块,要求实现如下功能:
1.在一个网页中,实现S表的增加、修改、删除、查询、打印功能。
2.查询功能要求能够根据学生的学号、姓名、班级 进行查找。
3.增加、修改要有合法性验证,删除要有删除确认提示。
4.打印时,仅打印当前查询的内容。
5.报告内容包括程序界面截图和逻辑处理代码。
实验过程:
1. 在SQL SERVER 中建立表class和表s(即表student),并预填数据如下: 表class:
表s:
2.打开MS VISUAL STUDIO 2008,并新建一个网站
打开web.config文件,找到<connectionStrings/>节点,将该节点改为:
<connectionStrings>
<add name="SYSConnectionString"
connectionString="server=(local);database=jiaowu;integrated security=sspi;" providerName="System.Data.SqlClient" />
</connectionStrings>
3.将默认创建的Default.aspx页面转为“设计”状态,在工具箱的“数据”标签中找到
GridView控件和SqlDataSource控件,并将GridView控件和SqlDataSource控件拖放到Default.aspx中。
4. 配置数据源:选择SqlDataSource控件,点击右上角按钮,并点击“配置数据源”,弹出的窗口中,“数据连接”下拉框选择SYSConnectionString,点击下一步,选择“指定自定义SQL语句或存储过程”,在SELECT标签中输入SQL语句:
SELECT s.sno, s.sn, CASE WHEN sex = 1 THEN '男' ELSE '女' END AS sex, s.age, class.cname FROM s LEFT OUTER JOIN class ON s.class_no = class.cid
点击下一步,直至完成。
5.关联数据源:选中GridView控件,点击右上角按钮,“选择数据源”,选择“SqlDataSource1”。
6.修改列标题:选择 gridview1,点击右上角按钮,点击“编辑列”,在“选定的字段”列表中,分别选中“sid,sname,sex,age,cname”字段,然后,将其对应的HeaderText属性改为“学号、姓名、性别、年龄、班级”。
7. 添加表格显示主题
选中GridView控件,点击右上角按钮,点击“自动套用格式”,在主题格式对话框中,选择一款主题,点击“确定”。
8.添加编辑功能:
(1):选中GridView控件,点击右上角按钮,点击“编辑列”,在“编辑列”对话框中,在“可用字段”列表中,展开commandField节点,选择“编辑、更新、取消”节点,并点击“添加”按钮,再选择“删除”节点,并点击“添加”按钮,在“选定的字段”列表中,选中“性别”和“班级”字段,点击右下方的“将此字段转换为TemplateField”,点击“确定”。
(2): 拖放一新的SqlDataSource控件到页面上,此时该控件名称为“SqlDataSource2”,并为该控件配置数据源,步骤与SqlDataSource1的步骤一样,其中SQL语句中的SELECT标签页填写内容如下:select cname,cid from class,选中GridView控件,点击右上角按钮,点击“编辑模板”,在模板框中,“显示”下拉列表里,选择“性别”列中的“EditItemTemplate”项,在sex字段的EditItemTemplate编辑面板中,将原Label控件删除,添加一个DropdownList控件如下,为该控件添加两个选择项:
选项1:text值=男 value值=1;选项2:text值=女 value值=0
(注:该控件的ID值改为“dpsex”)在cname字段的EditItemTemplate编辑面板中,将原TextBox控件删除,添加一个DropdownList(注:该控件的ID值改为“dpclass”),在模板框中,“显示”下拉列表里,选择“班级”列中的“EditItemTemplate”项,在数据源配置框中,“数据源”选择“SqlDataSource2”,“显示的数据字段”选择“cname”,“值选择数据字段”选择“cid”,如下图。点击“确定”,选择模板框,点击右上角的按钮,选择“结束模板编辑”。
(3): 选在SqlDataSource1,点击右上角按钮,点击“配置数据源”,一直下一步,在“定义自定义语句或存储过程”窗口中,选择“UPDATE”标签,填写update语句如下:UPDATE s SET sn = @sn, sex = @sex, age = @age, class_no = @class_no WHERE (sno = @sno) 然后,一直下一步 ,完成。
打开default.aspx.vb页面,类名选择GridView1,方法名称选择:RowUpdating,键入代码: Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
Dim gr As GridViewRow
gr = GridView1.Rows(e.RowIndex)
SqlDataSource1.UpdateParameters("sex").DefaultValue = CType(gr.FindControl("dpsex"), DropDownList).SelectedItem.Value
SqlDataSource1.UpdateParameters("class_no").DefaultValue =
CType(gr.FindControl("dpclass"), DropDownList).SelectedItem.Value
End Sub
9.添加删除功能:
(1)选择SqlDataSource1,点击右上角按钮,点击“配置数据源”, 一直下一步,在“定义自定义语句或存储过程”窗口中,选择“DELETE”标签,填写delete语句如下: DELETE FROM s WHERE sno = @sno,然后,一直下一步,完成。
(2)为删除添加确认效果:点击GridView1,选择“编辑列”,在“选定字段中”选择“删除”项,点击右下方的“将此字段转换为TemplateField”,再点击“编辑模板”,
选中“删除”,在“属性”栏中,找到“OnClientClick”,添加 该属性值。 return window.confirm('确定要删除吗?'),如图:
点击 结束模板编辑并保存。
10. 添加新增功能:
(1)设置界面如图:
(2)择SqlDataSource1控件,点击右上角按钮,点击“配置数据源”,在“定义自定义语句或存储过程”对话框中的“INSERT”标签,填写语句如下:
INSERT INTO s(sno, sn, sex, age, class_no) VALUES (@sno, @sn, @sex, @age, @class_no)
(3)3 设置添加代码:Btinsert按钮双击,添加点击事件如下:
Protected Sub btinsert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btinsert.Click
SqlDataSource1.InsertParameters("sno").DefaultValue = txtsno.Text
SqlDataSource1.InsertParameters("sn").DefaultValue = txtsn.Text
SqlDataSource1.InsertParameters("sex").DefaultValue = dpsex.SelectedItem.Value SqlDataSource1.InsertParameters("age").DefaultValue = txtage.Text
SqlDataSource1.InsertParameters("class_no").DefaultValue =
dpclass.SelectedItem.Value
SqlDataSource1.Insert()
End Sub
运行页面,查看效果。
11.设置验证功能
(1)学号必填验证:工具箱中,展开验证标签页,拖放一个RequiedFieldValidator控件到txtsid控件的后面,设置RequiredFieldValidator1的ControlToValidate属性为“txtsno”和ErrorMessage属性为“必须填写!”同样的方法为txtsname 和 txtage添加必填验证。
(2) 年龄必须为整形的验证:在验证标签页中,找到RegularExpressionValidator控件,拖放一个RegularExpressionValidator控件到txtage的后面,设置RegularExpressionValidator1的ControlToValidate、ErrorMessage 、ValidationExpression属性分别为:“txtage”;“整数型”;“/d+”
(3) 为验证分组
将以上添加的RequiredFieldValidator和RegularExpressionValidator控件以及btinsert控件的ValidationGroup属性设为abc,
(4) 设置学号不能重复验证:
首先添加验证函数如下:
Public Function havethisid(ByVal sn As String) As Boolean
Dim cnn As System.Data.SqlClient.SqlConnection
Dim adpt As System.Data.SqlClient.SqlDataAdapter
Dim rst As New System.Data.DataSet
cnn = New
System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("SYSConnectionString").ConnectionString)
adpt = New System.Data.SqlClient.SqlDataAdapter("select * from s where sno=' " & " ' ", cnn)
adpt.Fill(rst)
havethisid = rst.Tables(0).Rows.Count > 0
End Function
End Class
更改btinsert的点击事件如下:
Protected Sub btinsert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btinsert.Click
If havethisid(txtsno.Text) = False Then
SqlDataSource1.InsertParameters("sno").DefaultValue = txtsno.Text
SqlDataSource1.InsertParameters("sn").DefaultValue = txtsn.Text
SqlDataSource1.InsertParameters("sex").DefaultValue = dpsex.SelectedItem.Value SqlDataSource1.InsertParameters("age").DefaultValue = txtage.Text
SqlDataSource1.InsertParameters("class_no").DefaultValue =
dpclass.SelectedItem.Value
SqlDataSource1.Insert()
Else
ScriptManager.RegisterStartupScript(Me.Page, Me.Page.GetType, "", "alert('当前学号不存在!')", True)
End If
End Sub
(5)修改要有合法性验证:
1)
2)将“年龄”字段转化为TemplateField
3)点击“编辑模板”,选择
4)在验证标签页中,找到RegularExpressionValidator控件,拖放一个RegularExpressionValidator控件到TextBox1的后面,设置RegularExpressionValidator2的ControlToValidate、ErrorMessage 、ValidationExpression属性分别为:“TextBox1”;“整数型”;“/d+”
12.设置查询功能:在上一个网站的基础上,新建一文件夹Query,并在该文件夹下新建一网页,Default.aspx网页上拖放HTML标签下的table控件,设为1列2行,在第二行中放置一个GridView控件,并拖放一个SqlDatasource控件,在SqlDatasource控件的Select标签页中设置查询语句:
select sid,sname,case sex when 1 then '男' else '女' end as sex ,age,cname from student
left join class on student.classid=class.cid
并将GridView的数据源指向SqlDatasource控件,设置GridView的列标题,在第一个单元
添加自定义函数refresh如下:
Private Sub refresh(ByVal outcond As String) Dim sql As String Dim cond As String
sql = " select sno,sn,case sex when 1 then '男' else '女' end as sex,age,cname " & " from s " & " left join class on s.class_no=class.cid " If outcond = "" Then If rbtid.Checked Then
cond = "sno"
ElseIf rbtname.Checked Then
cond = "sn"
Else
cond = "cname"
End If
cond = cond & " like '%" & txtval.Text.Trim & "%'"
Else
cond = outcond
End If
sql = sql & " where " & cond
Me.SqlDataSource1.SelectCommand = sql
End Sub
添加pageload事件:在代码文件中,选择(Page事件) -> Load,添加事件如下:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then
refresh("")
End If
End Sub
在界面文件中,双击查询按钮,添加事件如下:
Protected Sub btselect_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btselect.Click
refresh("")
End Sub
13.报表设计:
(1)添加数据集。在解决方案栏中,选中顶层节点,右键,选择“添加新项”,弹出如下对话框,选择“数据集”,名称改为“DataSets.xsd”,点击添加,点击添加后,弹出如下提示框,点击“是”。
(2)系统默认打开DataSets.xsd文件,该页面中,鼠标右键,选择 添加->TableAdapter, 步骤如下:
1).
2). 3). 4). 5).
6).改名为“student”,如图:,并保存。
(3)设计报表样式:
1). 选中查询页面所在的文件夹,如本例中的“Query”文件夹,右键 点击 添加新项,弹出如下对话框,选择“报表”类型,并将名称改为“student.rdlc”,点击 添加。
2). 在页面的灰色区域,鼠标右键 选择 页眉,添加页眉区域,并在页眉中添加报表标题,拖放一文本框到页眉中,并填写内容为“学生名单”,利用工具条,设置字体、大小。 设置的标题为“学生名单”。
3). 从工具箱中拖放“表”控件, 安装上述两个操作方法,将表的格式设为5列。
4). 设置报表数据: 将左侧“网站数据源”中学生数据源的各个字段拖放到表的中间行(详细信息行)的对应单元各中,并将字体居中、设置边框。
(4)添加报表显示页面:
1)点击 query 文件夹,右键 添加新项,选择 web窗体,名称改为 studentPrint.aspx
2)将studentPrint.aspx页面转为设计状态,从工具箱中找到 报表 栏,拖放MicrosoftReportViewer控件到页面中,选择报表“Query/student.rdlc”。
3). 关联报表文件后,页面中自动添加一个ObjectDataSource数据源控件,选中 ObjectDataSource数据源控件 将其删除,重新从工具栏的“数据”栏中 拖放一个SqlDataSource控件到该页面中,点击报表的右上角 按钮, 点击“选择数据源”,在“数据源实例”中选择“SqlDataSource1”。
4). 数据源配置与前面的方法相同,只是在“定义自定义语句或存储过程”中,在“select”栏中键入:select 0 。
5). 打开 student.aspx.vb文件,添加页面加载事件如下:
Protected Sub page_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim sql As String
sql = Request.QueryString("sql").ToString
SqlDataSource1.SelectCommand=sql
End Sub
(5). 在原主查询页面中,添加一个打印按钮(注:ID= btprint;Text=打印),打开,代码文件,在原refresh函数中添加一句代码:
ViewState("sql") = sql
实验效果截图 主程序界面1:编辑功能:
删除功能:
(学号S8的那一行被删除了)
增加效果:
(增加了“S9“;“李志谦“;”“男”;“21”;“工业二班”) 增加合法性检验:
编辑合法性检验:
主程序界面2:
查询效果:
(1)根据学号查询:
(2)根据姓名查询:
(3)根据班级查询:
打印效果(当前查询为按“二”进行班级查询):
五、结论(实验感想体会)
通过为期20学时的实验,我已基本掌握管理信息系统中常规二维表数据的增加、修改、删除以及查询、报表等功能的设计方法,对与软件MS VISUAL STUDIO 2008的操作方法有了一定的掌握,同时也回顾了软件SQL SERVER 2005的操作, 感觉收获很大,在实验中遇到了不少困难,但通过努力现均已得到解决,实验总体而言非常成功,但仍然需熟练对于MS VISUAL STUDIO 2008的操作,对与MS VISUAL STUDIO 2008中的控件属性也需加强认识,希望自己能在后面的管理信息系统课程设计中能做到更好,最后感谢董老师在实验过程中给予的帮助!
Mis实验一实验报告实验内容内容1C1利息计算本金为22万借期为20年年利率58725求每月和每年还款金额20年总还款金额1演示程…
学年第学期课程名称班级学号学生实验机号地点指导教师时间实验报告一管理信息系统01实验室20xx年11月14日一实验目的1熟练绘制组…
中国矿业大学徐海学院实验报告课程名称管理信息系统姓名李志谦班级工业102班学号成绩教师一实验名称管理信息系统综合实验二实验对象工业…
湖南工业大学财经学院实验报告实验指导教师XXX班级信管101实验者XXX同实验者XXX20XX年5月8日附件:实验内容(将系统建设…
实验三账务处理1打开入管理信息系统教学演示软件进入账务处理系统如下图23录入以下数据新闻纸10吨买价720xx元进项税额12240…
学年第学期课程名称班级学号学生实验机号地点指导教师时间实验报告一管理信息系统01实验室20xx年11月14日一实验目的1熟练绘制组…
Mis实验一实验报告实验内容内容1C1利息计算本金为22万借期为20年年利率58725求每月和每年还款金额20年总还款金额1演示程…
学籍管理信息系统上机实验报告院系建工专业工管姓名刘佳学号07010704070103一摘要21世纪是信息产业的时代全球信息电子化的…
经济管理学院管理信息系统实验报告设计参考资料管理信息系统实验报告目录一系统需求分析311问题的提出312可行性分析313系统的设计…
管理信息系统实验报告姓名班级学号完成时间管理信息系统实验报告一摘要21世纪是信息产业的时代全球信息电子化的潮流势不可挡计算机被广泛…