ASPNET数据库基本操作.ppt
《ASPNET数据库基本操作.ppt》由会员分享,可在线阅读,更多相关《ASPNET数据库基本操作.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 ADO.NET数据库编程数据库编程 内容提要n本章首先介绍本章首先介绍ADO.NET的结构。的结构。n详详细细介介绍绍ADO.NET的的Connection对对象象,Command对对 象象、DataReader对对 象象、DataAdapter对象和对象和DataSet对象。对象。n介绍常用的数据源控件和数据绑定控件。介绍常用的数据源控件和数据绑定控件。网络数据库编程基础n在.NET框架中,包含了自己的数据访问技术ADO.NET。ADO.NET的名称起源于ADO(ActiveX Data Objects)。nADO.NET包含一组托管的类使得Web应用程序可以连接数据源、执行命令
2、以及管理非连接的数据。nASP.NET同样使用服务器控件来进行数据处理。ASP.NET中提供两类数据控件。一类是数据源(Data Source)控件。另一类是数据绑定(Data-bound)控件。6.1 ADO.NET的结构 nADO.NET有两个核心组件:.NET数据提供程序和DataSet。.NET数据提供程序 n表6-1.NET数据提供程序的四个核心对象 对象说明Connection建立与特定数据源的连接。Command对数据源执行命令。DataReader从数据源中读取只进且只读的数据流。DataAdapter 用于将数据填充到 DataSet。SQL Server.NET 数据提供程
3、序 n对应SQL Server.NET的4个核心对象分别是:SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter。这4个对象包含在System.Data.SqlClient命名空间中,需要将这个命名空间引入到文件中。nSQL Server.NET数据提供程序对SQL Server数据库的底层操作进行了封装,可以更加快捷地访问SQL Server数据库。OLE DB.NET 数据提供程序 n对应OLE DB.NET的4个核心对象分别是:OleDbConnection、OleDbCommand、OleDbDataReader和OleDbData
4、Adapter。这4个对象包含在System.Data.OleDb命名空间中,需要将这个命名空间引入到文件中。n目前主要用来访问Access、Foxpro等简单的数据源。Oracle DB.NET数据提供程序 n对应Oracle DB.NET的4个核心对象分别是:OracleConnection、OracleCommand、OracleDataReader和OracleDataAdapter。n这4个对象包含在System.Data.OracleClient命名空间中,需要将这个命名空间引入到文件中。ODBC.NET数据提供程序 n对应ODBC.NET的4个核心对象分别是:OdbcConnec
5、tion、OdbcCommand、OdbcDataReader和OdbcDataAdapter。这4个对象包含在System.Data.Odbc命名空间中,需要将这个命名空间引入到文件中。n通过ODBC建立的数据源都可以通过ODBC.NET数据提供程序访问。DataSet对象简介nDataSet是ADO.NET的核心组件,内部用XML描述数据,具有平台无关性。nDataSet 包含一个或多个 DataTable对象的集合,这些对象由数据行和数据列以及 DataTable 对象中数据的主键、外键、约束和关系信息等组成。nDataSet通过DataAdapter对象从数据源得到数据,DataAda
6、pter是连接DataSet和数据库的一个桥梁,因此命名为:“数据适配器”。Connection对象 n用于建立数据库连接,常用方法有Open()和Close()。Data Source属性用来获取数据源的服务器名或文件名;Provider属性用来指定数据库驱动程序;ConnectionString属性用来指定连接字符串。案例名称:使用案例名称:使用Connection对象对象程序名称:程序名称:6-01.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.Connect
7、ionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();使用使用Connection对象的构造函数对象的构造函数案例名称:使用案例名称:使用Connection对象的构造函数对象的构造函数程序名称:程序名称:6-02.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn;Conn=newOleDbC
8、onnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();连接连接SQL Server数据库的常用参数数据库的常用参数参数名称 参数说明Connection Timeout设置SqlConnection对象连接SQL Server数据库的超时时间,单位为妙,若超时,则返回连接数据库失败。默认值15秒。Data Source要连接的SQL Server数据库服务器名称。S
9、erver要连接的SQL Server数据库服务器名称。Addr要连接的SQL Server数据库服务器的地址。User ID/uid设置登录SQL Server数据库的用户帐号。Password/pwd设置登录SQL Server数据库的密码。Initial Catalog设置要连接的数据库名称。Database设置要连接的数据库名称。使用使用Connection对象连接对象连接SQL Server数据库数据库案例名称:使用案例名称:使用Connection对象连接对象连接SQLServer数据库数据库程序名称:程序名称:6-03.aspxvoidPage_Load(Objectsender
10、,EventArgse)SqlConnectionConn;Conn=newSqlConnection(server=localhost;database=testdb;uid=sa;pwd=);/SQLServer身份验证/Conn=newSqlConnection(DataSource=ZXG;IntegratedSecurity=true;InitialCatalog=testdb;);/Windows身份验证Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();Command对象 n建立数据连接以后,利用Command对
11、象来执行命令并从数据源返回结果。n常用方法:ExecuteReader()、ExecuteScalar()和ExecuteNonQuery()。nCommand对象常用的构造函数包括两个参数,1个是要执行的SQL语句,另一个是已经建立的Connnection对象,基本语法是:nOleDbCommand Comm=new OleDbCommand(select*from grade,Conn);ExecuteReader方法 n主要用来执行基本SQL查询语句,要求SQL返回记录集。案例名称:使用案例名称:使用ExecuteRader方法方法程序名称:程序名称:6-04.aspxvoidPage_
12、Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();OleDbCommandComm=newOleDbCommand(select*fromgrade,Conn);OleDbDataReaderdr=Comm.ExecuteReader();dg.DataSource=dr;dg.DataBind
13、();Conn.Close();案例名称:使用案例名称:使用Like子句实现模糊查询子句实现模糊查询程序名称:程序名称:6-05.aspxvoidsubmit_click(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();stringsql=select*fromgrade;if(mytext.Text!
14、=)sql=select*fromgradewhere姓名like%+mytext.Text+%;Message.Text=sql;OleDbCommandComm=newOleDbCommand(sql,Conn);OleDbDataReaderdr=Comm.ExecuteReader();dg.DataSource=dr;dg.DataBind();Conn.Close();请输入被查询的人名关键字ExecuteScalar方法 n该方法返回单个值,从相关的查询中返回第一行和第一列的值(Object 类型),一般用来执行聚合函数。案例名称:使用案例名称:使用ExecuteScalar方法
15、方法程序名称:程序名称:6-06.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();StringstrSQL=selectavg(数学)fromgrade;OleDbCommandComm=newOleDbCommand(strSQL,Conn);Doubled=(Do
16、uble)Comm.ExecuteScalar();Message.Text=所有人数学的平均成绩为+d.ToString()+分;Conn.Close();ExecuteNonQuery方法 n用于执行不需要返回结果的命令,并返回受影响的行数。案例名称:使用案例名称:使用ExecuteNonQuery方法执行方法执行Insert语句语句程序名称:程序名称:6-07.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=M
17、icrosoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();StringstrSQL=insertintograde(学号,姓名,数学)+values(99,小张,100);OleDbCommandComm=newOleDbCommand(strSQL,Conn);Comm.ExecuteNonQuery();Conn.Close();Response.Write(操作成功!);ADO.NET事务处理事务处理 n事务是一些事件的集合,执行一条SQL语句可理解成一个事件。nADO.NET使用Connecti
18、on对象的BeginTransaction()方法来声明事务开始,利用Transaction对象的Commit()方法来提交事务,利用Transaction对象的Rollback()方法来回滚事务。使用事务的基本格式使用事务的基本格式案例名称:使用事务的基本格式程序名称:6-08.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.M
19、apPath(person.mdb);Conn.Open();OleDbCommandComm=newOleDbCommand();OleDbTransactionTrans;Trans=Conn.BeginTransaction();Comm.Connection=Conn;Comm.Transaction=Trans;tryComm.CommandText=UPDATEgradeSET数学=100WHERE姓名LIKE%周%;Comm.ExecuteNonQuery();Comm.CommandText=UPDATEgradeSET数学=60WHERE姓名LIKE%张%;Comm.Exec
20、uteNonQuery();Trans.Commit();Response.Write(事务执行成功!);catch(Exceptionex)Trans.Rollback();Response.Write(出现错误,事务已经回滚!);finallyConn.Close();DataReader对象 n取DataReader对象的数据,有两种方法:n1、通过和GridView等数据控件绑定,直接输出,使用方法如程序6-04.aspx。n2、另一种方法是利用循环将其数据取出。使用DataReader对象输出数据案例名称:使用案例名称:使用DataReader对象输出数据对象输出数据程序名称:程序名
21、称:6-09.aspxprotectedvoidPage_Load(objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();StringstrSQL=select*fromgrade;OleDbCommandComm=newOleDbCommand(strSQL,Conn);OleDbDataReaderdr=Comm.ExecuteReader();str
22、inghtml=;html+=;html+=学号学号;html+=姓名姓名;html+=数学数学;html+=;trywhile(dr.Read()/读出每一条记录读出每一条记录html+=;html+=+dr学号学号.ToString()+;html+=+dr姓名姓名.ToString()+;html+=+dr数学数学.ToString()+;html+=;html+=;catch(Exceptionex)Response.Write(ex.Message);finallydr.Close();Conn.Close();/关闭链接关闭链接Response.Write(html);DataAd
23、apter对象 nDataAdapter对象用于从数据源中获取数据,填充DataSet 中的表和约束,并将对DataSet的更改提交回数据源。nDataAdapter对象有4个重要属性,即SelectCommand、InsertCommand、UpdateCommand、DeleteCommand,都是Command对象,其中SelectCommand用来执行查询,其他三个用于执行数据操作。n除了SelectCommand属性,其他三个属性都需使用“ExecuteNonQuery()”方法调用。使用DataAdapter对象的构造方法案例名称:使用案例名称:使用DataAdapter对象构造方
24、法对象构造方法程序名称:程序名称:6-10.aspxprotectedvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);stringsql=select*fromgrade;Conn.Open();OleDbDataAdapterda=newOleDbDataAdapter(sql,Conn);/执行执行SQLDataSetds=newDataSe
25、t();da.Fill(ds,grade);/将da对象中的数据填充到ds对象中,并起别名“grade”dg.DataSource=ds.Tablesgrade.DefaultView;dg.DataBind();Conn.Close();使用使用DataAdapter对象的对象的SelectCommand属性属性 案例名称:使用案例名称:使用DataAdapter对象的对象的SelectCommand属性属性程序名称:程序名称:6-11.aspxvoidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbConnection(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASPNET 数据库 基本 操作
限制150内