C#net数据库访问课件.ppt

上传人:rrsccc 文档编号:10273371 上传时间:2021-05-04 格式:PPT 页数:43 大小:847.50KB
返回 下载 相关 举报
C#net数据库访问课件.ppt_第1页
第1页 / 共43页
C#net数据库访问课件.ppt_第2页
第2页 / 共43页
C#net数据库访问课件.ppt_第3页
第3页 / 共43页
C#net数据库访问课件.ppt_第4页
第4页 / 共43页
C#net数据库访问课件.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《C#net数据库访问课件.ppt》由会员分享,可在线阅读,更多相关《C#net数据库访问课件.ppt(43页珍藏版)》请在三一文库上搜索。

1、数据库访问技术,ADO.NET数据库访问,计算机科学系 林加华,-2-,掌握ADO.NET的原理与结构 掌握Connection类的使用 掌握Command类的使用 掌握DataReader类的使用 掌握DataAdapter类的使用 掌握DataSet、DataTable、DataRow的使用 掌握以断开连接和连接的方式操作数据库,目标,-3-,1. ADO.NET 简介 4-1,以流的形式从文件中读写数据,少量数据,不适用于,大量数据,-4-,ADO.NET 简介 4-2,以流的形式从文件中读写数据,少量数据,不适用于,大量数据,中央数据库,要管理数据库,需要专门的软件应用程序,RDBMS

2、,-5-,ADO.NET 简介 4-3,中央数据库,用户需要时,可以随时访问数据,用户计算机向数据库服务器发送请求,客户端,不同的访问方法和技术,ADO .NET,-6-,ADO.NET 简介 4-4,.NET Framework,ADO .NET,System.Data 命名空间,以 ActiveX 数据对象 (ADO) 为基础 以 XML(扩展标记语言)为格式传送和接收数据,-7-,ADO.NET简介,ADO.NET编程模型用于对关系或非关系型数据源的操作。 ADO(ActiveX Data Object),是一个用于存取数据源的COM组件 。 ADO.NET在很多方面和ADO比较相近 。

3、 ADO.NET的特征: 非连接数据体系 在数据集中缓存数据 用XML进行数据传送 通过数据命令和数据库相互作用,-8-,ADO.NET中的命名空间,System.Data(这个空间必须要引入) System.Data.OLEDB System.Data.SQLClient System.Data.OracleClient System.Data.Sql System.Data.SqlTypes Microsoft.SqlServer.Server System.Transactions,-9-,ADO.NET结构模型,ADO.NET包括两个核心组件:DataSet和数据提供程序,用于实现数据

4、操作和数据访问的分离。,-10-,ADO.NET 对数据库的访问(3-1),将数据传递到用户界面时, ADO.NET 采用 XML 格式,数据已缓存,断开式数据结构,-11-,ADO.NET 对数据库的访问(3-2),对于Insert,Update,Delete 等单向操作,应用程序,数据库,1、用Connection.Open打开数据库,2、用DataAdaptor.Command或者 Command.Execute 执行命令,3、关闭数据库,Insert用InsertCommand Delete 用DeleteCommand Update用UpdateCommand,-12-,ADO.NE

5、T 对数据库的访问(3-3),应用程序,数据库,关闭数据库,1、创建连接用Connection .Open建立连接,2、用DataAdaptor.SelectCommand 执行命令,DataAdaptor.Fill,对于Select的双向操作,DataSet,-13-,.NET 数据提供程序 5-1,ADO.NET,DataSet,.NET Framework 数据提供程序,1、SQLClient 2、OLEDB 3、Oracle 4、ODBC,由以下各项组成的集合:,-14-,.NET 数据提供程序 5-2,客户端,服务器,数据集,2、将数据发送到数据集,A、客户端修改数据集,3、数据集传

6、递给客户端,B、将修改后的数据集传递给服务器,1、客户端从服务器请求数据,1,2,3是从服务器检索数据的过程 A、B是对数据库修改的过程,-15-,.NET 数据提供程序 5-3,用于 SQL Server 的 .NET Framework 数据提供程序,System.Data.SqlClient 命名空间,仅限于连接 SQL Server 数据库 7.0 或更高版本,-16-,SQL Server 2005,SQL Server是微软公司提供的一个安全、可靠、高效、用于企业数据管理和商业智能应用的平台。 SQL Server 配置管理器 SQL Server 资源管理器,-17-,ADO.N

7、ET的核心对象,ADO.NET有以下几个核心组件: Connection Command DataReader DataAdapter DataSet,-18-,Connection-1,连接不同数据库的连接类: OleDbConnection类:在System.Data.Oledb命名空间,主要用于连接Access、SQL Server 6.5以下版本的数据库 OdbcConnection类:在System.Data.Odbc命名空间,用于连接ODBC数据源 SqlConnection类:在System.Data.SqlClient命名空间,用于连接SQL Server数据库 OracleC

8、onnecton类:在System.Data.OracleClient命名空间,用于连接Oracle数据库 连接字符串必须提供3个信息 : 数据库所在服务器的位置(Data Source); 数据库的名称(Initial Catalog); 数据库的身份验证方式(Windows集成验证或者是SQL Server身份验证)。,-19-,Connection 对象 5-2,方法,Close(),Open(),属性,ConnectionString,Database,Connectionstring:属性指定要与那个数据库进行相连,数据库名是什么?用户名和密码是什么?,-20-,Connection

9、-2,连接字符串示例: 创建Connection对象 打开和关闭连接 :,Data Source=localhost;Initial Catalog=Haier;Integrated Security=SSPI;,Windows集成验证,Data Source=localhost; Initial Catalog= Haier; user id=sa; password=123456;,SQL Server身份验证,Dim connString As String = _ Data Source=localhost;Initial Catalog= Haier;user id=sa; pass

10、word=123456 Dim conn As SqlConnection= new SqlConnection() conn.ConnectionString = connString,Dim conn As SqlConnection= new SqlConnection(Data Source=localhost; _ Initial Catalog= Haier; user id=sa; password=123456,conn.Open()打开连接 conn.Close()关闭连接,-21-,应用程序配置文件,app.config是应用程序配置文件 app.config文件中的con

11、nectionStrings标签配置连接字符串 通过ConfigurationManager.ConnectionStrings集合可获得连接字符串 :, ,Dim connString As String = ConfigurationManager. _ ConnectionStrings(MyConnectionString).ConnectionString,添加System.Configuration命名空间的引用 :“项目”“添加引用” ,选择“.NET”选项卡下的“System.Configuration”组件,-22-,Command 对象 7-1,数据库,Command 对象

12、指定要对数据库执行的操作,检索和操纵数据,Command,-23-,Command 对象 7-4,用SQL 语句的Command设置 Dim objComm As New SqlCommand() objComm.CommandText=SQL 语句 objComm.CommandType=CommandType.Text objComm. Connection=objConnection 用存储过程的Command设置 Dim objComm As New SqlCommand() objComm.CommandText=“sp_DeleteName objComm.CommandType=

13、CommandType. StoredProcedure objComm. Connection=objConnection Sp_DeleteName是在SQL Server服务器上创建的存储过程,-24-,使用Command-1,Dim cmd As SqlCommand = New SqlCommand() cmd.Connection = con cmd.CommandType = CommandType.Text cmd.CommandText = SELECT * FROM UserDetails,使用SqlCommand对象执行一个SQL查询语句:,使用SqlCommand对象执

14、行一个存储过程 :,Dim cmd As SqlCommand = New SqlCommand(SELECT * FROM BookInfo , con),Dim cmd As SqlCommand = New SqlCommand(GetBooks, con) cmd.CommandType = CommandType.StoredProcedure,-25-,Command对象提供了3种执行方法: ExecuteReader() 用于执行SELECT命令,并返回一个DataReader对象。 ExecuteNonQuery() 用于执行非SELECT的命令,如INSERT、DELETE或

15、者UPDATE命令,返回命令所影响的数据行数。也可以用ExecuteNonQuery()方法来执行一些数据定义命令,如新建、更新、删除数据库对象(如表、索引等)。 ExecuteScalar() 用于执行SELECT查询命令,返回数据中第一行第一列的值。常用于执行带有COUNT()或者SUM()函数的SELECT命令。,使用Command-2,-26-,DataReader,DataReader对象用来读取数据。 DataReader的常用方法 : 获取DataReader对象: 读取数据: 关闭 DataReader对象,通过Command的ExecuteReader()方法可以得到一个填充

16、数据的DataReader对象 reader = cmd.ExecuteReader(),reader(Pwd)通过列名 reader(0)通过列的索引,索引从0开始,reader.Close(),-27-,DataReader对象,功能:提供一种只读的、向前的数据访问方法。 使用DataReader对象的常用步骤: 1、创建数据库连接: dim connectstr as string connectstr=server=localhost;uid=sa;pwd=;database=pubs Dim objConnection as new sqlconnection(connectstr)

17、 2、打开连接: objConnection.Open() 3、使用Reader对象执行SQL语句: Dim objCommand As New SqlCommand(Select * from Authors where state=CA, objConnection) Dim objReader As SqlDataReader = objCommand.ExecuteReader(),-28-,DataReader对象(2/3),4、用read()方法检测查询结果是否有记录 While objReader.Read() . end while 5、关闭reader对象,关闭数据库连接 o

18、bjReader.Close() objConnection.Close(),-29-,DataAdapter,DataAdapter也是数据提供程序的一个子组件。与Connection和Command类一样,DataAdapter类也存在于access、OLE DB、SQL Server和Oracle中 DataAdapter类是数据库和程序之间的桥梁,它可以执行Command对象,从数据库中检索数据,再填充到DataSet对象中,或将DataSet对象插入、更新和删除数据库中 DataAdapter用于填充DataSet和更新数据源。,-30-,DataSet,dataset 可以看成是D

19、ataTable的集合.用于存储多个表. 具有类似数据库的结构: DataSet则是将数据一次性加载在内存中.抛弃数据库连接.充分利用了客户端资源也大大降低了数据库服务器的压力 微软公司在推出DataSet时就考虑到各种数据源的多样性、复杂性。在.Net中,无论什么类型数据源,它都会提供一致的关系编程模型,好处就是屏蔽了不同数据库之间的差异,从而获取一致的编程模型。,-31-,CommandBuilder,创建适配器的命令生成器,Dim cmdb As SqlCommandBuilder = New SqlCommandBuilder(adapter),命令生成器的作用:,使用CommandB

20、uilder需要注意以下几点: 1、只有当DataAdapter操作单个数据库表时,才可以利用CommandBuilder对象自动生成DataAdapter的DeleteCommand、InsertCommand和UpdateCommand。 2、为了自动生成命令,必须设置SelectCommand属性。,CommandBuilder的作用是自动生成适配器的插入、更新、删除的SQL语句 因此在创建CommandBuilder的时候需要将适配器作为构造函数的参数,-32-,DataAdapter,DataAdapter常用的属性和方法 :,Dim adapter As SqlDataAdapte

21、r = New SqlDataAdapter(Select * from UserDetails, conn),-33-,DataSet,创建数据集对象 : 填充数据集: 访问数据集中的表:,Dim ds As DataSet = New DataSet(),adapter.Fill(ds) adapter.Fill(ds, User) 将数据填充到数据集中,并给表起一个标识名User,ds.Tables(0) 数据集中的第一张表 ds.Tables(User) 数据集中的标识名为User的表,-34-,DataTable 和DataRow,DataTable表示数据集中的表,它是DataSe

22、t中常用的对象,与数据库中的表的概念十分相似。 DataRow表示是表中的数据行:,创建一个新行 Dim row As DataRow = userTabel.NewRow() 通过列的索引,给列赋值 row(0) = 12 通过列名,给列赋值 row(UserName) = zkl 增加行 Table.Rows.Add(Row),创建一个新表 Dim table As DataTable = DataSet.tables(User),-35-,ADO.NET有以下几个核心组件组成: Connection Command DataReader DataAdapter DataSet Conne

23、ction用于创建应用程序和数据库之间的连接 Command用于执行SQL语句和存储过程,实现对数据的添加、删除、更新、查询等各种操作。,小结-1,-36-,小结-2,DataReader是一种常用的数据读取工具,能够以连接的、向前的方式访问数据,可以执行SQL语句或者存储过程。 DataAdapter用于填充DataSet和更新数据源,可以在DataSet对象和数据源之间进行数据交互。 DataSet对象用于缓存数据库中的数据,具有类似数据库的结构,如表、列、关系和约束等。,-37-,-38-,填充GridView1的代码如下:,Dim constr As String= server=PC

24、-2;database=travel;uid=linjiahua;pwd=830117“ Dim conn As SqlConnection = New SqlConnection(constr) conn.Open() Dim da As SqlDataAdapter da = New SqlDataAdapter(select * from base_Position , conn) Dim ds As DataSet = New DataSet() da.Fill(ds) GridView1.DataSource = ds GridView1.DataBind() conn.Close(

25、),-39-,GridView1中的“选择”功能代码如下:,Dim index As Integer = e.NewSelectedIndex TextBox1.Text = GridView1.DataKeys(index).Value.ToString() Dim conn As SqlConnection Dim constr As String constr = server=PC-2;database=travel;uid=linjiahua;pwd=830117 conn = New SqlConnection(constr) conn.Open() Dim sql1 As Str

26、ing = select * from base_Position where position_id= + TextBox1.Text + “ Dim cmd As SqlCommand = New SqlCommand(sql1, conn) Dim dr As SqlDataReader = cmd.ExecuteReader() dr.Read() TextBox2.Text = dr.GetString(1) DropDownList1.SelectedValue = dr.GetString(2) dr.Close() conn.Close(),-40-,“更新”功能的代码如下:,

27、Dim conn As SqlConnection Dim constr As String constr = server=PC-2;database=travel;uid=linjiahua;pwd=830117 conn = New SqlConnection(constr) conn.Open() Dim sql As String sql = update base_position set pName= + TextBox2.Text + ,dept_id= + DropDownList1.SelectedValue + where position_id= + TextBox1.

28、Text + Dim cmd As SqlCommand = New SqlCommand(sql, conn) cmd.ExecuteNonQuery() Label4.Text = 恭喜您,数据更新成功! conn.Close(),-41-,“删除”功能代码如下:,Dim conn As SqlConnection Dim constr As String constr = server=PC-2;database=travel;uid=linjiahua;pwd=830117 conn = New SqlConnection(constr) conn.Open() Dim sql As

29、String sql= delete from base_position where position_id= + TextBox1.Text + Dim cmd As SqlCommand = New SqlCommand(sql, conn) cmd.ExecuteNonQuery() TextBox1.Text = TextBox2.Text = Label4.Text = 恭喜您,数据删除成功! conn.Close(),-42-,“添加”功能代码如下:,Dim conn As SqlConnection Dim constr As String constr = server=PC

30、-2;database=travel;uid=linjiahua;pwd=830117 conn = New SqlConnection(constr) conn.Open() Dim cmd As SqlCommand = New SqlCommand(insert into base_position(position_id,pName,dept_id) values( + TextBox1.Text + , + TextBox2.Text + , + DropDownList1.SelectedValue + ), conn) cmd.ExecuteNonQuery() Response.Write(数据添加成绩) conn.Close(),谢 谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1