资源描述
标题,点此编辑,编辑,*,Windows应用程序设计(C#),*,第7章,ADO.NET,数据库访问技术,主要内容:,数据控件访问数据库,ADO.Net数据库访问技术,使用DataReader访问数据库,使用DataAdapter和DataSet访问数据库,目的要求:,会利用数据控件访问数据库;会利用代码访问数据库;能浏览、查询、删除、修改,7.1 数据控件访问数据库,常用,数据访问控件:,(1)BindingSource控件:绑定数据源控件,用来绑定数据库。,(2)DataSet控件:数据集控件。,(3)DataGridView控件:数据网格视图控件,该控件主要以数据网格形式显示后台数据库的数据。,(4)BindingNavigator控件:数据导航条控件,该控件绑定数据源后,可实现数据导航。,启动数据源配置向导的常用方法:,方法一:在Visual Studio 2005中,单击菜单【数据】|【添加新数据源】。,方法二:在DataGridView控件的任务面板上“选择数据源下拉列表中单击“添加工程数据源。,7.1 数据控件访问数据库,【实例7-1】利用向导访问Access数据库,1.新建工程,2.添加【BindingSource】控件,单击其DataSource属性后的下拉按钮,单击【添加工程数据源】,启用向导.,3.选“数据库“下一步,4.“新建连接 “更改,5.数据源选“Microsoft Access数据库文件“确定,6.“浏览 选数据库文件“确定“下一步,7.选“是将数据文件复制到工程中,8.单击 下一步,将连接字符串保存到应用程序配置文件中。,9.在如图7-12所示的“选择数据库对象对话框中,选中“会员表,并单击【完成】按钮。,10.窗体上添加DataGridView控件,在其任务面板中选数据库表Myuser。,11.运行,注:利用DataGridView控件任务面板可添、删列,设置列属性。,7.1 数据控件访问数据库,【实例7-2】利用向导访问SQL Server数据库,主要设计步骤:,1创立SQL Server数据库。,2设置数据库的登录验证模式。,3新建工程。,4启动数据源配置向导。,5添加并设置数据控件。,6.添加代码。,7.2 常用SQL语句,SQL是结构化查询语言Structured Query Language的缩写,是一种完整的数据库操作语言,目前已成为关系型数据库的访问标准。常见的关系数据库Access、SQL Server等都支持SQL语言。,SQL有4种最根本的数据操作语句:Select、Delete、Update、Insert,分别执行4种根本操作:查询、删除、修改、插入。,7.2.1 Select语句,Select 语句是SQL语句中最常用的语句,用于从数据库中查询数据。,常用格式:,Select,字段列表 From 表或视图列表 Where 条件 Order By 字段,【例1】Select *From 会员表,【例2】Select 姓名,性别 From会员表,【例3】Select *From 会员表 Where 年龄 23,【例4】Select *From 会员表 Where 年龄 Between 22 and 24,【例5】Select *From 会员表 Where 姓名 like%李%,【例6】Select Top 5 *From 会员表 Order By 年龄 Desc,7.2.2 Delete语句,Delete语句用于从一个表中删除符合条件的记录。,常用格式:,Delete From 表名 Where 条件,【例7】Delete From 会员表 where ID=10,【例8】Delete From 会员表,7.2.3 Update语句,Update语句用于修改数据表中一个或多个字段的值。,常用格式:,Update 表名 Set 字段1=字段1的值,字段2=字段2的值,Where 条件,【例9】Update 会员表 Set 姓名=林娜,年龄=22 Where ID=2,7.2.4 Insert语句,Insert语句用于向数据表中插入一条记录。,常用格式:,Insert Into 表名(字段1,字段2,)Values(字段1的值,字段2的值,),【例10】Insert into 会员表(姓名,性别,年龄,Email)Values(张三,男,23,zs163 ),注:“会员表中主键ID为“Int型,且为“标识,故不要给该字段赋值。,7.3 ADO.NET概述,ADO.NET 是 Microsoft.NET 框架引入的数据访问组件,.NET 框架提供了一组用于管理数据库交互的对象;这些类统称为 ADO.NET。,ADO.NET 的根本组件包括:DataSet 和.NET数据提供程序.,.NET数据提供程序包含4个核心对象:Connection对象、Command对象、DataReader对象和DataAdapter对象,ADO.NET 的根本组件,ADO.NET 的基本组件,DataSet,.NET 框架数据提供程序,核心对象,Connection,DataReader,Command,DataAdapter,ADO.NET访问数据库的方式:,(1)利用DataReader对象,这种方式只能读取数据库,不能修改记录。,(2)利用DataAdapter和DataSet对象,这种方式更灵活,可对数据库进行各种操作,。,.NET数据提供程序可用来连接数据库,执行命令,获取结果。,访问SQL Server 7.0以上版本的数据库,用SQL Server.NET数据提供程序,需要引用命名空间;,访问Access数据库,用OLE DB.NET数据提供程序,需要引用命名空间。,Connection、Command、DataReader 和 DataAdapter 对象是.NET Framework 数据提供程序模型的核心元素。下表将描述这些对象。,对象,说明,Connection,建立与特定数据源的连接。,Command,对数据源执行命令。,DataReader,从数据源中读取只进且只读的数据流。,DataAdapter,用数据源填充,DataSet,并更新。,7.4.1 Connection对象,连接SQL Server(要引用,连接字符串 2种写法:,“Server=效劳器名;database=数据库名;uid=用户名;Pwd=密码;,“Server=效劳器名;database=数据库名;IntegretedSecurity=true;,创立连接格式:,SqlConnection 对象名=new SqlConnection(连接字符串);,如:,string strCon=“Server=.;database=Mysql1;uid=sa;pwd=;,SqlConnection con=new SqlConnection(strCon);,7.4 ADO.NET对象,连接Access数据库(要引入,连接字符串,String strCon=“Provider=Microsoft.OLEDB.4.0;Data Source=数据库名,创立连接格式:,OleDbConnection 对象名=new OleDbConnection(连接字符串);,如:String strCon=“Provider=Microsoft.OLEDB.4.0;Data Source=db1.mdb,OleDbConnection con=new OleDbConnection(strCon);,Connection的两个重要方法:,Open()方法:翻开与数据库表的连接,例:myconn.Open();,Close()方法:关闭与数据库表的连接,例:myconn.Close(),使用Connection对象,Connection对象应用的一般步骤是:,(1)设置连接字符串;,(2)创立Connection类型的对象;,(3)翻开数据源的连接;,(4)执行数据库的访问操作代码;,(5)关闭数据源连接。,【实例7-3】连接SQL Server数据库,7.4.2 Command对象,与数据库建立连接后,Command对象使用SQL语句对数据库进行操作并从数据源返回结果。,(1)创立Command实例,创立格式:,SqlCommand 对象名=new SqlCommand(SQL语句,连接名);,如:,string sql=“Select*from Myuser“;/SQL语句字符串,SqlCommand cmd=new SqlCommand(sql,strCon);,/创立 Command实例,其中strCon 为连接字符串,(2)Command对象常用属性,:,CommandText,:欲执行的内容(SQL语句或存储过程名称),Connection,:使用的活动连接。,CommandType,:命令类型,默认为Text,也可以是:,StoreProcedure,(3)Command对象常用方法:,ExecuteReader():返回DataReader类型值,当用Select SQL语句进行记录的查询时用此方法,ExecuteNonQuery():返回受影响的行数,当用delete、insert、update等SQL语句进行插、删、改等操作时用此方法,ExecuteScalar():返回第一行第一列,当用SQL聚合函数进行数据统计时用此方法,SQL命令的执行一般用ExecuteNonQuery()方法,用于记录的插、删、改等操作,如:,myCommand.ExecuteNonQuery();/应先把连接翻开,【例如1】,SqlCommand cmd=new SqlCommand(sql语句,连接名);或,SqlCommand cmd=new SqlCommand();cmd.CommandText=“SQL语句;cmd.Connection=sqlcon;,【例如2】,string sql=“insert into Myuser(姓名,性别,年龄,Email)values(王娜,女,23,)“,SqlCommand cmd=new SqlCommand(sql,sqlcon);,7.4.3 DataReader对象,DataReader,(数据读取器),主要应用在有连接的数据应用场合,它提供了快速的、只读的、仅向前的数据访问方式。,DataReader对象的 常用属性:,HasRows:是否含有一行或多行的值,FieldCount:当前行中的字段(列)数,DataReader对象的常用方法:,Close:用于关闭 DataReader 对象,Read:使 DataReader 前移到下一个记录,返回值为true 或 false,DataReader对象的创立格式:,SqlDataReader 对象名=SqlCommand对象.ExecuteReader();,如:SqlDataReader dr=mycommand.ExecuteReader();,7.4.4 DataAdapter对象,DataAdapter(数据适配器)是与数据集一起使用的对象,和一个数据库连接后用于填充数据集和更新数据源,它主要用于管理与数据库的连接、执行命令并向数据集返回数据。,主要方法:,Fill:将数据从数据源装载到数据集中。,Update:将DataSet里面的数值存储到数据库效劳器上,主要属性:,InsertCommand:插入新记录的SQL语句或存储过程UpdateCommand:更新记录的SQL语句或存储过程DeleteCommand:删除记录的SQL语句或存储过程SelectCommand:选择记录的SQL语句或存储过程,创立格式:SqlDataAdapter 对象名=new SqlDataAdapter(SQL语句,连接名);,DataAdapter 对象,DataTable,DataTable,DataSet,Fi
展开阅读全文