第六章VisualBasicNET数据库技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
6.1 ADO.NET概述
• .NET数据提供者:
– .NET知道其工作方式的数据源。这 些数据通过OLE和.NET相互协作。
– .NET数据提供者的名字就是所使用 的数据库的名字:SQL Server, Oracle,Access等。
第六章 Visual Basic .NET数据库技术
6
6.1 ADO.NET概述
果对象。
第六章 Visual Basic .NET数据库技术
21
6.5 使用DataSet和DataAdapter 检索数据
建立脱机的数据库访问模式
• 用SqlConnection对象建立连接,并打开数据库。
• 向数据库索取所要的数据,并放到SqlDataAdapter对 象中。
• 把SqlDataAdapter对象中的数据填入DataSet对象。 • 关闭SqlConnection对象。 • 在DataSet对象中操作数据。 • 操作结束,再次打开SqlConnection对象和数据库的
– ADO.NET 使用了某些 ADO 的对象,如 Connection 和 Command 对象,并且还引入了新 的对象。
– 主要的新 ADO.NET 对象包括 DataSet、 DataReader 和 DataAdapter。
第六章 Visual Basic .NET数据库技术
4
6.1 ADO.NET概述
第六章 Visual Basic .NET数据库技术
11
6.2 连接数据源
使用SQL Server .NET Data Provider
SQL Server .NET Data Provider是利用SqlConnection 类来连接SQL Server7.0或更高版本的数据库,SqlConne_c tion类位于名称空间System.Data.SqlClient下。
第六章 Visual Basic .NET 数据库技术
东北大学软件学院
6.1 ADO.NET概述
• ADO.NET来源
– ADO .NET由Microsoft ActiveX Data Objects (ADO)改进而来,它提供平台互用和可收缩的数据 访问功能,是Visual Basic.NET进行数据库编程所 使用的重要工具。
Access97
Microsoft.Jet.OLE DE.4.0
System.Data.OleDb
Microsoft.Jet.OLE DE.3.5
System.Data.OleDb
第六章 Visual Basic .NET数据库技术
8
6.1 ADO.NET概述
• ADO.NET数据对象
类
System.Data.OleDb SytemData.SqlClient
第六章 Visual Basic .NET数据库技术
7
6.1 ADO.NET概述
• ADO.NET数据提供者
提供者
提供者在.NET中的 名称
命名空间
SQL Server SQLOLEDE
System.Data.SqlClient
Oracle
MSDAORA
System.Data.OleDb
Access2000 和 Access2002
4.设置连接属性。 5.进行连接测试。 6.建立一个连接的时候,需要建立一个
SystemData.OleDB.OLEDBConnection 实例 或者 System.Data.SqlClient.SQLConnection 对象。
7.调用OLEDBConnection的Open方法建立和 数据库的连接。
第六章 Visual Basic .NET数据库技术
23
6.5 使用DataSet和DataAdapter 检索数据
• DataSet对象重要的公有属性
属性
说明
DataSetName
获取或设置数据集的名称
EnforceConstraints 获取或设置是否遵循约束规则
HasErrors Relations Tables
复杂的语句。 – T-SQL支持分支、循环和其它变量声明,这将有
助于编写出某些非常复杂的存储过程代码。
第六章 Visual Basic .NET数据库技术
20
6.4 使用存储过程
• 调用存储过程
– 创建一个SqlCommand对象。 – 设置CommandType属性。 – 添加与存储过程本身匹配的参数。 – 创建一个SqlDataAdapter,填充某种结
•连接ORACLE数据库
Dim strConnect As Sting=”Provider=MSDAORA; _ Data Source=服务器名; User ID=用户名; Password=密码;”
Байду номын сангаас
第六章 Visual Basic .NET数据库技术
14
6.3 使用DataReader检索数据
Data Source=d:\Data\ Example.mdb” oleDbConnection1= New System.Data.OleDb. _
ODilmeDSbQCLosntrnAecstiSotnri(nsgtr=C“oSnEnLeEcCt)T * FROM Books” Dim command As OleDbCommand Dim reader As OleDbDataReader command=New OleDbCommand(SQLstr, oleDbConnection1) command.open() reader=command.ExecuteReader()
第六章 Visual Basic .NET数据库技术
19
6.4 使用存储过程
• 创建存储过程
– 可以使用Visual Studio.NET中的工具或 SQLSever的Enterprise Manager中的工具。
– 从技术上看可以使用第三方工具或编程实现。 – 存储过程可以是一个SQL语句,也可以是一组
• 连接Access数据库:假设要连接的Access数据库名为 “Example.mdb”,存放在d:\Data\目录下。
Dim oleDbConnection1 As OleDb.OleDbConnection Dim strConnect As Sting=“Provider=Microsoft.Jet.OLEDB. 4.0; _
SqlClient .SqlConnection(strConnect) sqlConnection1.open()
第六章 Visual Basic .NET数据库技术
12
6.2 连接数据源
使用The OLE DB .NET Data Provider
The OLE DB .NET Data Provider是通过位于名称空间 System.Data.OleDb类库下的OleDbConnection类来连接 Access、Oracle和SQL Server等种类数据库。
• DataReader是一个用来存储表的对象,它 允许使用其Read方法来顺序读取数据。
• 在该对象中,数据是只读的,并只可以向前 读取。
• Read方法可以使光标视图中的指针向下一 行移动,确保行中各列的数据可以被一组 Get方法获取。
第六章 Visual Basic .NET数据库技术
15
6.3 使用DataReader检索数据
Data Source=d:\Data\ Example.md b” oleDbConnection1= New System.Data.OleDb._
OleDbConnection(strConne ct)
第六章 Visual Basic .NET数据库技术
13
6.2 连接数据源
使用OLE DB .NET Data Provider
指出在所有表的所有行内是否有错误 获取链接表的关系对象 获取数据集中的表
第六章 Visual Basic .NET数据库技术
24
DataAdapter对象重要的公有方法
方法
说明
AcceptChanges 接受(提交)对数据集所做的修改
SystemData 中的DataSet
DataSet
DataSet
第六章 Visual Basic .NET数据库技术
9
6.2 连接数据源
• 连接数据源的步骤:
– 通过创建一个新文本文件来创建一个空的 Mircosoft Data Link文件,然后把这个文件的 扩展名改成udl。
– 双击这个新文件,在弹出的对话框中可以创建 和编辑数据库的连接信息。
连接。
• 利用SqlDataAdapter对象对数据库进行更新。 • 关闭SqlConnection对象。
第六章 Visual Basic .NET数据库技术
22
6.5 使用DataSet和DataAdapter 检索数据
• DataSet类的层次结构
System.Object Sytem.ComponentModel. MarshalValueComponent System.Data.DataSet
第六章 Visual Basic .NET数据库技术
16
6.3 使用DataReader检索数据
Dim oleDbConnection1 As OleDb.OleDbConnection Dim strConnect As Sting=”Provider=Microsoft.Jet.OLEDB. 4.0; _
–使用存储过程 – 使用DataAdapter机制
第六章 Visual Basic .NET数据库技术
18
6.4 使用存储过程
• 创建一个过程,把它存储在数据库中, 因为事先知道有这个过程,所以可以提 前编译它,以便在应用程序中使用。
• 使用存储过程的原因:
– 提高性能 – 减少网络流量 – 安全性
• ADO.NET也称做.NET的ActiveX数据对象, 负责通过ODBC或者其它专业的信道连接到 外部数据源。
• 访问数据库中的数据分为3层处理模型:
– 建立到数据源的连接。 – 通过连接执行SQL命令 – 在数据可用的时候处理SQL命令返回的数据。
第六章 Visual Basic .NET数据库技术
– 选取数据提供者:
• 如果是Access数据库,选择Microsoft Jet4.0 provider。
• 如果是SQL Sever或者MSDE数据库,选择 Microsoft OLEDB Provider for SQL Server。
第六章 Visual Basic .NET数据库技术
10
6.2 连接数据源
•连接SQL Server数据库
Dim strConnect As Sting=”Provider=SQLOLEDB; _ Persist Security Info= False; Data Source=服务器名; _ Initial Catalog=数据库名; User ID=用户名; Password=密码;”
reader.Read() TextBox1.Text=reader.GetXXX(n)
reader.Close()
oleDbConnection1.Close()
第六章 Visual Basic .NET数据库技术
17
6.3 使用DataReader检索数据
• 思考题:如何提高对数据库的访问 效率?
中的类名
中的名称
Connection OleDbConnection SqlConnection
DataAdapter OleDbDataReader SqlDataReader
Command OleDbCommand SqlCommand
DataReader OleDbDataReader SqlDataReader
Dim sqlConnection1 As SqlClient.SqlConnection Dim strConnect As String = ”data source=服务器名; _
initialcatalog = 数据库名; user id=sa; password=;” sqlConnection1=New System.Data. _
用DataReader对象管理Select查询
第一层
打开连接
OleDbConnection
数据库
第二层 运行SQL Select命令
OleDbConnection包 含单个Select语句
SQL语句得结果,模式和 数据被放在DataReader中
第三层 处理SQL命令返回的数据
Data Reader