阐述教学方法基于运用《数据库技术及运用》课程教学办法初探

更新时间:2024-01-09 点赞:31321 浏览:137692 作者:用户投稿原创标记本站原创

[摘要]本文以大学非计算机专业的《数据库技术及应用》这门公共课为主线,介绍了这门课程所要讲授的内容和难易程度,学生学习的难以比较和学生感兴趣的东西,主要讲述了数据库应用开发这部分学生既有兴趣,内容又难学且内容又较多的部分,介绍数据库应用系统的开发方法和步骤,对学生学习本课程和做相应的应用开发有所帮助。
[关键词]数据库 ADO控件 数据库应用开发

一、大学非计算机专业所授本课程内容

随着计算机的普及,数据库在各个领域的应用越来越多,越来越广泛,因而在各个高校,《数据库技术及应用》这门课也在许多非计算机专业作为选修课开设。
《数据库技术及应用》课程可包含三个部分内容,它们是数据库原理、数据库技术、数据库应用。对于数据库原理这部分内容,都是理论知识,概念较多,相对来说较为枯燥,但多看看书大部分内容都还可以理解;对于数据库技术部分来说,它是结合某个具体的数据库管理系统来教学的,如:ACCESS或SQL Server等,只要多上机实践操作,也很好掌握,对于非计算机专业来说,这是这门课的主要内容;然而,第三部分的数据库应用开发,因为内容多,牵扯面广,还需要用到其他知识,相对来说比较复杂,难以掌握,而且留给这部分内容的教学课时也很少,因此,学生很难完全掌握,我们都以大作业的方式布置给学生。在这里我们以应用开发为主,探讨在应用开发过程中,学习和掌握数据库技术及与之相关的内容。

二、一个简单示例的使用说明

数据库应用开发可分两个部分,即后台数据库的设计与前台用户界面的开发。这里,后台用SQL server 2005,前台界面开发用VB.net,开发一个简易的选课系统。前台用户的主要界面见图1
图1
操作方法为:先在学生信息组中输入学生学号,点击确定,如果输错或学生信息表中无此学生则提示错误,否则,课程信息组中出现课程类别,选择课程类别,点击确定,即可浏览本类别中所有可选课程的信息,点击“选”按钮即选中此课程,并在相应的表中插入一条记录,表示该学生选了该课程。

三、中间件ADO.net介绍

VB.net操作数据库中的数据,需要使用中间件ADO.net。这里我们先提一下ADO.net的功能和使用。ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。ADO.net可让开发人员以一致的方式存取数据来源(例如 SQL Server与XML),以及透过OLE DB和ODBC所公开的数据来源。ADO.net可将管理的数据存取分成不连续的元件,这些元件可分开使用,也可串联使用,ADO.net也包含 .NET Framework 数据提供者,以用于连接数据库、执行命令和撷取结果。这些结果会直接处理、放入ADO.net的DataSet 物件中以便利用机器操作的方式公开给使用者、与多个来源的数据结合,或在各层之间进行传递。DataSet 物件也可以与.NET Framework 数据提供者分开使用,以便管理应用程序本机的数据或来自 XML 的数据。
ADO架构
ADO.NET3.0中用于存取和管理数据的两个主要元件是.NET Framework数据提供者和DataSet。NET Framework数据提供者是一种明确设计用于管理数据以及快速存取顺向只读数据的元件。Connection物件会提供数据来源的连接。DataReader则可提供来自数据来源的高效能数据流。最后,DataAdapter会提供DataSet物件与数据来源之间的桥接器。DataAdapter会使用Command物件与数据来源处执行SQL命令,以便将数据载入DataSet,并且将 DataSet 内的数据变更源于:论文的标准格式www.618jyw.com
调节回数据来源。ado.net DataSet的设计已明确指出它可独立于任何数据来源外而存取数据。因此,它可与多个不同的数据里来源搭配使用、与XML数据搭配使用,或用于管理应用程序的本机数据。DataSet 包含一或多个由数据列和数据行所组成的DataTable 物件集合,以及DataTable物件中的主索引键、外部索引键、条件约束 (Constraint) 及数据的相关资讯。
图2

四、示例系统的编写步骤

选课系统主要包括三个表,它们为:
学生表,包括学号、姓名、性别、所在院系、专业、班级等信息;
课程表,包括课程号、课程名、学时数、学分数、类别等信息;
成绩表,包括学号、课程号、成绩等信息。
为了使用方便,所在院系、专业、类别等字段都用代码表示,因此还需要各种字段的代码名称对照表,因此把这些对照表作为辅助表。
设计如图1所示的窗口,在窗口上放置相应的控件,并设置好相应的属性

1.连接数据库

ADO控件操作数据库首先必须连接到数据库,因此要定义一个连接变量。
Dim con As New SqlConnection
设置连接字符串:
con.ConnectionString = "Data Source=localhost;Initial Catalog=选课数据库;Integrated Security=True"
打开连接
con.Open()
即可连上数据库。

2.提取数据

根据输入的学号,提取此学生的信息,需要用到DataSet 和SqlDataAdapter控件。
先定义两个变量:
Dim dd As New DataSet
Dim ap As SqlDataAdapter 设置提取数据的方法,即SQL语句。
ss = "select * from 学生表 as s inner join 学院表 as x on s.学院编号=x.学院编号 inner join 专业表 as z on s.专业编号=z.专业编号 where 学号='" & Me.TextBox

1.Text & "'"

这里需要注意的是,这是一个字符串拼接的表达式,“'"”这里是一个单引号和一个双引号,“"'"”这里为两个双引号括了一个单引号。
Me.TextBox

1.Text表示你输入的学号,是可变的。

提取数据
ap = New SqlDataAdapter(ss, con)
填充到DataSet中
ap.Fill(dd, "xsb")
如果无此学生学号,则显示相应提示;存在相应学号的学生则用相应的控件显示对应的字段,
Me.TextBox2.Text = dd.Tables("xsb").Rows(0)("姓名") 等等。
同时,从课程表中提取课程类别,填充到选择课程类别组合框中。
ss = "select distinct l.类别编号,类别名 from 课程表 as k inner join 类别表 as l on k.类别编号=l.类别编号"
ap = New SqlDataAdapter(ss, con)
ap.Fill(dd, "lbbh")
Me.ComboBox

1.DataSource = dd.Tables("lbbh")

Me.ComboBox1.DisplayMember = dd.Tables("lbbh").Columns(1).ToStri源于:论文要求www.618jyw.com
ng
Me.ComboBox1.ValueMember = dd.Tables("lbbh").Columns(0).ToString
选择某种类别,将同类别的书目提取出来,并填充到DataSet中。
ss = "select * from 课程表 where 类别编号='" & Me.ComboBox

1.SelectedValue & "'"

ap = New SqlDataAdapter(ss, con)
ap.Fill(dd, "kcb")
然后通过相应控件将相应的书目内容显示出来,并用导航按钮控件浏览数据。
bm = BindingContext(dd.Tables("kcb"))
Me.TextBox7.DataBindings.Add("text", dd.Tables("kcb"), dd.Tables("kcb").Columns("课程编号").ToString)等等

3.写入数据到数据库

当浏览到某门课程后,点击选按钮即将学号和课程号填入到相应的表中,表示某学生选了某门课。
com.CommandText = "insert into 成绩表 (学号,课程编号) values('" & Me.TextBox

1.Text & "','" & Me.TextBox

7.Text & "')"

com.Connection = con com.ExecuteNonQuery()

4.断开与数据库的连接

可反复选课,最后关闭窗口,同时断开与数据库的连接即可。
con.Close()
五、后记
本示例系统是一个可在win7下正常运行的系统,按照前面的介绍,稍加完善,即可在自己的机器上实现,注意先需创建数据库,建好相应的数据表。
[参考资料]
数据库技术与应用.刘卫国编.清华大学出版社
数据库技术与应用.龚沛曾编.高等教育出版社
[3]数据库技术与应用.李雁翎编.高等教育出版社
[4]VisualBasic.NET.实用教程.郑阿奇编.电子工业出版社
(作者单位:华中科技大学网络与计算中心 湖北武汉)
相关文章
推荐阅读

 发表评论

共有3000条评论 快来参与吧~