管理信息系统上机实验报告

中国矿业大学徐海学院

实验报告

课程名称 管理信息系统

姓名 李志谦 班级 工业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中的控件属性也需加强认识,希望自己能在后面的管理信息系统课程设计中能做到更好,最后感谢董老师在实验过程中给予的帮助!

相关推荐