您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 数据库访问技术ADO.-NET
使用ADO.NET访问数据库主要内容1ADO.NET概述2数据库连接对象(Connection)3数据库命令对象(Command)4数据读取对象(DataReader)5数据适配器对象(DataAdapter)6数据集对象(DataSet)7查询基础SQL是StructuredQueryLanguage(结构化查询语言)的缩写。表列举了常用的SQL语句。SQL的主要语句及说明查询语句SelectSELECT语句主要用于从数据库中返回需要的数据集,其语法格式为:SELECTselect_list[INTOnew_table_name]FROMtable_list[WHEREsearch_conditions][GROUPBYgroup_by_list][HAVINGsearch_conditions][ORDERBYorder_list[ASC|DESC]]常用格式:Select*from表名Where条件模糊查询:Select*from表名Where字段名like‘%条件%’插入记录语句InsertInsert语句可以向表中插入一条记录,其语法格式为:INSERTINTO表名称(字段名)VALUES(字段值)修改记录语句Update使用Update语句可更新(修改)表中的数据,语法格式为:UPDATE表名称SET字段名=值WHERE条件删除记录语句Delete使用DELETE语句可以删除数据表中指定行,语法格式为:DELETEFROM表名称WHERE条件1ADO.NET概述ADO.NET可通过DateSet对象在“断开连接模式”下访问数据库,即用户访问数据库中的数据时,首先要建立与数据库的连接,从数据库中下载需要的数据到本地缓冲区,之后断开与数据库的连接。此时用户对数据的操作(查询、添加、修改、删除等)都是在本地进行的,只有需要更新数据库中的数据时,才再次与数据库连接,在发送修改后的数据到数据库后关闭连接。这样大大减少了因连接过多(访问量较大时)对数据库服务器资源的大量占用。ADO.NET提供了用于完成如数据库连接、查询数据、插入数据、更新数据和删除数据等操作的对象。Connection对象Command对象DataReader对象DataAdapter对象DataSet对象ADO.NET概述在ADO.NET中数据集(DataSet)与数据提供器(Provider)是两个非常重要,而又相互关联的核心组件,其关系如下图所示。数据集数据提供器临时存储应用程序从数据源读取的数据,可对数据进行各种操作用于建立数据集和数据源的连接ADO.NET的组件准确地说,ADO.NET是由很多类组成的一个类库。这些类提供了众多对象,分别用来完成和数据库的连接、查询、插入、更新和删除等操作。其中主要包括5个对象。82020/3/10ADO.NET的对象1.Connection对象:用来连接到数据库。2.Command对象:用来对数据库执行SQL命令。3.DataReader对象:用来从数据库返回只读数据。4.DataAdapter对象:用来从数据库返回数据,并送到Dataset对象中,还要负责保证Dataset对象中的数据和数据库中的数据保持一致。5.DataSet对象:它可以看做是内存中的数据库。利用DataAdapter对象将数据库中的数据送到该对象中,然后就可以在其中对数据进行各种操作,最后再利用DataAdapter对象将更新反映到数据库中。92020/3/10ADO.NET两种读取数据库的方式这5个对象提供了两种读取数据库的方式。一种是利用Connetction、Command和DataReader对象,这种方式只能读取数据库,也就是说不能修改记录。如果只是想查询记录的话,这种方式的效率更高些。(保持连接模式)第二种是利用Connection、Command、DataAdapter和Dataset对象,这种方式更灵活,可以对数据库进行各种操作。(断开连接模式)102020/3/10ADO.NET两种读取数据库的视图112020/3/10ADO.NET两套类库针对不同的数据库,ADO.NET提供了两套类库:第一套类库可以存取所有基于OLEDB提供的数据库,如SQLServer、Access、Oracle等;第二套类库专门用来存取SQLServer数据库。只对SQLServer7.0及更高版SQLServer数据库进行高度优化连接122020/3/10ADO.NET两套类库的对象名称对应命名空间System.Data.OleDbSystem.Data.SqlClient对象OLEDB数据库SQLServer数据库ConnectionOLEDBConnectionSQLConnectionCommandOLEDBCommandSQLCommandDataReaderOLEDBDataReaderSQLDataReaderDataAdapterOLEDBDataAdapterSQLDataAdapterDataSetDataSetSQLDataSet132020/3/10基于OLEDB的数据库的相关命名空间如果要使用基于OLEDB的数据库,需要在页面中导入相关的命名空间,语法如下:usingSystem.Data;usingSystem.Data.Oledb;如果要使用SQLServer数据库,则语句需要改为:usingSystem.Data;usingSystem.Data.SqlClient;142020/3/102Connection对象Connection对象提供与数据源的连接。要存取数据源内的数据,首先要建立程序和数据源之间的连接。主要属性(1)ConnectionString:获取或设置用于打开数据库的字符串,包括字符串的内容和数据提供器名称。(2)State:获取连接的当前状态主要方法(1)Open()方法:用于打开由ConnectionString属性指定的数据源连接(2)Close()方法:关闭数据源连接连接到数据库的步骤创建一个新Connection对象OleDbConnectionconn=newOleDbConnection();SqlConnectionconn=newSqlConnection();设置Connection对象的连接字符串属性打开或关闭数据库连接用于连接Access数据库的对象用于连接SQL数据库的对象数据库连接字符串为了连接到数据源,需要一个连接字符串。连接字符串通常由分号隔开的名称和值组成,它指定数据库运行库的设置。连接字符串中包含的典型信息包括数据库的名称、服务器的位置和用户的身份。下面以连接Access数据库和SQLServer数据库为例说明。连接字符串的存放位置(1)把连接字符串写在程序中需要在许多页面中写入连接字符串,这时候如果需要改动连接字符串(比如换用户名和密码)的话,就得逐个修改。(2)把连接字符串放在web.config文件中程序员可以方便地更改服务器名称、数据库或身份验证信息,而无须逐个修改程序。172020/3/10连接Access数据库的连接字符串OleDbConnection类的Connectionstrings属性所要求的字符串的内容也是由若干个以分号隔开的“<参数名>=<参数值>”表示的子串组成。如:conn.ConnectionString=Provider=Microsoft.Jet.Oledb.4.0;+DataSource=+Server.MapPath(App_Data/xxx.mdb);以上字符串说明了连接Access数据库的方法。连接SQLServer数据库文件(.mdf)--网站内嵌数据库Conn.ConectionString=DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\*.mdf;IntegratedSecurity=True;UserInstance=True192020/3/10连接SQLServer数据库连接SQLServer数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数。首先,连接SQLServer使用的命名空间不是“System.Data.OleDb”,而是“System.Data.SqlClient”。202020/3/10属性说明server=.\SQLEXPRESS,表示使用的是本地数据库且定义了实例名;如果是远程服务器,则将“.”替换为远程服务器的名称或IP地址。conn.ConnectionString=“server=xx;database=数据库名;uid=sa;pwd=密码;注意:在连接SQLServer2005时,server参数写为:server=.\\SQLEXPRESS;连接字符串指明要连接哪台服务器上的、哪个实例的哪个数据库,所用用户名及密码等信息。下面以查询student表数据为例介绍如何打开和关闭数据库。代码如下。protectedvoidPage_Load(objectsender,EventArgse){//数据库名为stu,用户名为sa,用户密码为空SqlConnectionconn=newSqlConnection();StringstrCon=server=.;database=stu;uid=sa;pwd=;conn.Connectionstring=strCon;conn.Open();//打开数据库连接SqlCommandcmd=newSqlCommand(select*fromstudent,conn);//查询学生信息表conn.Close();//关闭数据库连接}上述是典型的数据库连接代码,常在Web.Config文件中存放数据库的连接信息。连接字符串放在配置文件中将数据库连接字符串存放在应用程序的配置文件(即Web.Config)中,代码如下。connectionStringsaddname=“连接字符串名”connectionString=“数据库的连接字符串”providerName=“System.Data.SqlClient”或“System.Data.oledb//connectionStrings在程序中获得连接字符串的方法如下:conn.ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings[constr2].ToString();连接字符串名在Web.config里连接Access数据库时连接字符串的写法addname=ConnString2connectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|XXX.mdb;providerName=System.Data.Oledb/ASP.NET应用程序将|DataDirectory|解析为“应用程序根目录/app_data”文件夹。Using说明在创建数据库连接时,建议使用Using语句块;其作用为:定义一个范围,在范围结束时处理对象(当离开包含的代码段时自动调用该类实例的Dispose()方法,自动关闭数据库连接且释放连接所使用的资源);如果需要使用一个对象,这个对象需要占用很多紧缺的资源,使用完成后需要马上释放掉的话,建议使用using语句;优势:可以避免资源释放不及时导致的冲突或性能问题。using(SqlConnectionconn=newSqlConnection()){conn.ConnectionString=“”;……conn.Open();……}252020/3/103Command对象Command对象最主要的工作是通过Connection对象对数据源下达操作数据库
本文标题:数据库访问技术ADO.-NET
链接地址:https://www.777doc.com/doc-4288074 .html