【Asp.net精品源码栏目提醒】:网学会员,鉴于大家对Asp.net精品源码十分关注,论文会员在此为大家搜集整理了“精品课件-06第06章ASP.NET数据库访问技术基础 - 大学课件”一文,供大家参考学习!
第6章
ASP.NET数据库访问技术基础 本章学习目标
ASP.NET所支持的数据存储方式及其特点 ADO.NET的结构及工作机制 Connection对象与Command对象 在
ASP.NET中展示数据库内容的简单技术 SQL查询第6章
ASP.NET数据库访问技术基础6.1 数据库简介6.2 ADO.NET的作用与组成6.3 Connection对象与Command对象6.4 DataReader对象与记录读取6.5 SQL查询基础6.1 数据库简介 将数据按照某种组织方式存入数据库后,既便于管理,又便于处理。
与仓库、书库等需要管理人员与管理制度一样,数据库也需要一个管理系统 , 这 个 管 理 系 统 被 称 为 数 据 库 管 理 系 统 ( Data Base ManagementSystem,DBMS)。
早期的数据通常是网状数据库或者是层次数据库。
而现在应用最广泛的是 基 于关 系代数 的 关系 数据库 管 理系 统(RDBMS)。
SQL Server、DB2、SYSBASE以及Oracle都属于关系型数据库。
在关系型数据库中,数据是以二维表格的方式存储的,一个数据库中可以包含多个数据表,而每个数据表又包含行(记录)和列(字段),可以将数据表想像为一个电子表格,其中与行对应的是记录,与列对应的是字段;数据库中的不同表格,可以通过某种机制联系起来或彼此约束;在数据库中,除数据表外,一般还存在其他数据库对象,如视图、存储过程、索引等。
SQL(Structured Query Language,结构化查询语言)是用户与关系型数据库进行交互的标准语言,通过SQL,可以对关系型数据库进行数据编辑、查询等操作。
借助浏览器,通过Internet/Intranet访问数据库的Web服务器产品和开发工具也不断涌现
ASP.NET是比较成熟的开发工具之一。
6.2 ADO.NET的作用与组成 6.2.1
ASP.NET访问数据源的方式ADO.NET(AvtiveX Data Objects.NET)是
ASP.NET与数据库的接口,其访 问数据源的方式如图所示。
ASP.NET网页 ADO.NET SQL Server数据库提供程序 OLE DB.NET数据库提供程序 SQL Server 7.0或更高版本 Access DB2 Oracle SQL Server 6.5或更低版本 其他数据库 ADO.NET 是 通过.NET数据 库 提供 程序来 访问数据源的。
其中:SQL Server.NET数据提供程序用于访问Microsoft SQL Server 7.0或更高版本的 数据库,可提供很高的访问效率。
OLE DB.NET数据提供程序则用于访 问Access、SQL Server 6.5更低版本、DB2、Oracle或其他支持OLE DB驱 动程序的数据库。
对商用系统而言,Access数据库一般是不能满足系统对性能的要求的, 应考虑使用SQL Server、Oracle等专业数据库。
6.2 ADO.NET的作用与组成6.2.2 ADO.NET的结构 ADO.NET的对象内容如表所示。
对于复杂的数据库应用系统而言,表中比较重要的是DataSet及 DataView,从数据库中取出数据后,须放到DataSet,若需将其显 示在浏览器中,则应使用DataView,数据流程如图所示。
对象 描述 Connection 与数据源建立连接 Command 对数据源执行操作命令并返回作结果 DataReader 从数据源提取只读、顺序的数据集 DataAdapter 在DataSet与数据源之间建立通道,将数据源中的数据写入DataSet,或根据DataSet 中的数据改写数据源。
DataSet 服务器内存中的数据库 DataView 用于显示DataSet中的数据 提供程序 DataSet DataView6.3 Connection对象与Command对象 6.3.1 Connection对象 6.3.2 Command对象6.3.1 Connection对象 使用Connection对象之前,对于Access数据库和SQL Server 7.0及以上版本数据 库 而 言 , 应 分 别 导 入 System.Data 、 System.Data.Ole Db 和 System.Data 、System.Data.sql命名空间。
建立与数据库连接的语法如下:Dim objConn As New OleDbConnectionConnectionString Access数据库 DimobjConn As New SqlConnectionConnectionString SQL Server数据库 其中,ConnectionString用于描述连接细节 ,可省略不写,在建立连接对象后再指定其ConnectionString属性。
1.Connection对象的属性 Connection对象的常用属性如下: ConnectionString:给出或设置连接参数。
对OLE DB数据库而言,需要使用OLE DB.NET数据提供程序,对SQL Server 7.0及以上版本数据库而言,需要SQL Server.NET数据提供程序。
6.3.1 Connection对象 对于OLE DB数据库,常用参数如表所示。
下面是三个用来打开Access、SQL Server 6.5或更低版本及Oracle数据库的连接参数。
ProviderMicrosoft.JET.OLEDB.4.0Data SourceF:ssyyrr.mdb ProviderSQLOLEDBData SourcesyrwwwIntegrated SecuritySSPIProviderMSDAORAData SourceORACLE8i7User IdsyrPasswordsyr001 参数名称 用途 Data Source 设置数据源路径 Password 设置密码 Provider 设置驱动程序 User ID 设置帐号6.3.1 Connection对象下面是一个用来打开SQL Server 7.0或更高版本数据库的连接参数。
Data SourcelocalhostIntegrated SecuritySSPI Initial catalogssyyrr“2.Connection对象的方法Connection对象的主要方法如下:Open:打开数据库。
Close:关闭数据库连接。
当不再使用数据源时,应使用该方法关闭与数据源的连接。
6.3.2 Command对象Command对象用于对数据源进行各种操作(如读取、写入记录等)。
建立Command对象的语法如下: Dim objCmd As New OleDbCommandcmdTextConnection Access数据库 Dim objCmd As New sqlCommandcmdTextConnection SQL Server数据库其中,cmdText用于描述需要进行的操作;Connection用于指定所使用的连接。
这两个参数也可以在建立Command对象后再利用对象的属性进行设置。
1.Command对象的属性三个属性:CommandText CommandType Connection2.Command对象的方法三个方法: ExecuteNonQuery ExecuteReader ExecuteScalarDim objCmd.As OleDbCommandNew OleDbCommandSelect countFrom usersobjConnDim TotalRows As Integerobjmd.ExecuteScalar6.3.2 Command对象下面是一个利用Connection对象与Command对象删除数据表中记录的例子,该例运行前后数据表中的内容如图所示。
6.4 DataReader对象与记录读取 对于只需顺序显示数据表中记录的应用而言,DataReader对象是比较理想的选择。
可以通过Command对象的ExecuteReader方法创建DataReader对象。
DataReader对象一旦建立,即可通过对象的属性、方法访问数据源中的数据。
建立DataReader对象的语法如下: Dim objReader As New OleDbDataReader Access数据库 Dim objReader As New sqlDataReader SQL Server数据库1.DataReader对象的属性DataReader对象的属性有下列几个:FieldCount:给出字段数目。
IsClosed:给出DataReader对象的状态。
True代表关闭,False代表打开。
Itemname ordinal:给出字段的内容。
其中name为字段名称,ordinal为字段序号。
RecordsAffected:该属性在DataReader对象被关闭后有效。
给出执行Insert、Delete或Update等命令后受影响的记录数。
6.4 DataReader对象与记录读取 2.DataReader对象的方法DataReader对象的常用方法有下列几个:Close:关闭DataReader对象。
GetNameordinal:给出第ordinal1个字段的字段名称。
GetOrdinalname:给出名称为name的字段的序号。
GetValueordinal:给出第ordinal1个字段的内容。
GetValuesvalues:将所有字段内容放入values数组。
IsDbNullordinal:给出一个布尔值,表示第ordinal1个字段的内容是否为空。
Read:读取一条记录,并返回一个布尔值,表示本记录是否存在。
执行Read方法后,若返回值为False,则意味着已经完成对所有记录的读取。
6.4 DataReader对象与记录读取 4.DataReader对象应用举例下面是一个利用DataReader对象读取一个数据表中所有记录的例子。
其运行结果如图所示。
6.5 SQL查询基础 SQL的语法与英语语法类似。
它最初是由Boyce和Chamberlin在1974年提出的(当时被称为SEQUEL)之后,在1976年,IBM公司的San Jose研究所在研发关系型数据库管理系统SystemR将其修改为SEQUEL2,也就是目前的SQL。
1986年,美国国家标准化组织ANSI确认了这一标准。
从功能上看,SQL包括DDL(Data Definition Language,数据定义语言)和DML(Data Manipulation Language,数据操纵语言)两类语言。
其中前者用于定义、修改数据库的结构,而后者则用于对存储在数据库中的数据进行操作。
在基于Web的数据库应用系统中,一般只使用后者。
在编码过程中,如果需要进行一般的数据操纵,而对SQL又不甚熟悉的话,可在支持上述功能的系统(如Access)中,直接构造查询,待得到预期的结果后,再将系统自动生成SQL复制到自己的
源码中。
6.5 SQL查询基础 6.5.1 获取数据表中的记录存储数据的目的主要是为了日后使用。
获取数据表中的记录(或对记录进行某些统计操作)是应用中最为常见的需求。
在SQL中,满足上述需求的语句是Select。
1.筛选记录对于图所示的数据表,如果需要获取表中所有记录,可以使用下列语句:Select From 成绩表 6.5 SQL查询基础实际应用中,往往需要在数据表中查找满足某些条件的记录,这时可根据需要构造适当的条件表达式,然后以Where子句的方式加入到Select语句中。
例如在“成绩表”中,筛选出姓名为“甄小灵”的记录,可用语句Select From 成绩表 Where 姓名甄小灵例如在“成绩表”中,筛选出英语成绩大于或等于90分的记录,可用语句Select From 成绩表 Where 英语90在构造条件表达式时,除了可采用上述方式外,还可以使用Visual Basic.NET函数。
例如下列语句可筛选出所有张姓学生的记录。
Select From 成绩表 Where Mid姓名11 ‘张’2.选择字段在许多情况下,并不要求获取数据表中的所有字段。
这时可以将上面所列出的Select语句中的“”用需要提取字段的字段名称列表代替。
事实上,在字段列表中,不仅可包含数据表中原有的字段,也可以包含任意的表达式。
在“成绩表”中,提取所有学生的英语成绩,可用语句Select 英语 From 成绩表在“成绩表”中,提取所有学生的各科成绩及总成绩,可用语句Select 姓名高等数学普通物理普通化学机械制图英语体育高等数学普通物理普通化学机械制图英语体育 As 总分 From 成绩表 6.5 SQL查询基础3.排序一般而言,存放在数据表中的记录是无序的,如果需要获得按某种或某些规则排序的数据表,则可以使用Order By子句。
在“成绩表”中,提取所有学生的各科成绩,并按高等数学升序排列记录,可用语句Select From 成绩表 Order By 高等数学在“成绩表”中,提取所有学生的各科成绩,并按高等数学降序排列记录,可用语句Select From 成绩表 Order By 高等数学 DESC4.设定返回的记录数有时并不要求查阅所有满足条件的记录,这时可以通过Top子句限制返回的记录。
在“成绩表”中,提取所有学生的各科成绩及总成绩,按总成绩降序排列记录,但只查看前5条记录,可用语句Select Top 5 姓名高等数学普通物理普通化学机械制图英语体育高等数学普通物理普通化学机械制图英语体育 As 总分 From 成绩表 Order By 高等数学普通物理普通化学机械制图英语体育 DESC 6.5 SQL查询基础6.5.2 添加、修改或删除记录1.添加记录向数据表中添加新记录可使用Insert语句。
下面是一个向数据表中添加新记录的例子,该程序运行前后数据表中的内容如图所示。
2.修改记录修改数据表中已有记录可使用Update语句。
下面是一个修改数据表中已有记录的例子,该程序运行前后数据表中的内容如图所示。
6.5 SQL查询基础3.删除记录删除数据表中已有记录可使用Delete语句。
下面是一个删除数据表中已有记录的例子,该程序运行前后数据表中的内容如图所示。
上一篇:
基于BS模式的的在线问卷调查系统【毕业论文,绝对精品】
下一篇:
基于web二手汽车交易管理系统(含录像)