windows应用程序开发基础基于net平台04课程core_第1页
windows应用程序开发基础基于net平台04课程core_第2页
windows应用程序开发基础基于net平台04课程core_第3页
windows应用程序开发基础基于net平台04课程core_第4页
windows应用程序开发基础基于net平台04课程core_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章ADO.NET简单应用(1)目标了解ADO.NET了解数据提供程序掌握Connection、Command、DataAdapter、DataReader、DataSet对象掌握连接数据库、用DataGridView显示数据、用ComboBox显示数据,使用DataReader读取数据并显示概述、专业术语应用程序要实现与数据库的互动需要通过数据库接口与数据库进行连接微软为开发人员提供了全新的数据库访问模型(ADO.NET)本章将学习在Windows应用程序中是如何访问和操作数据库的ADO.NET简介ADO.NET组件的设计的目的是为了从数据操作中分解出数据访问(断开方式)ADO.NET是.NETFramework类库的一部分ADO.NET的两个核心组件.NETFramework数据提供程序DataSet数据提供程序数据提供程序用于连接到数据库、执行命令和检索结果。可以直接处理检索到的结果,也可以将其放入DataSet对象。.NETFramework中包含的数据提供程序SQLServer.NETFramework数据提供程序OLEDB.NETFramework数据提供程序ODBC.NETFramework数据提供程序Oracle.NETFramework数据提供程序数据提供程序.NETFramework数据提供程序的四个核心对象对象说明Connection建立与特定数据源的连接。Command对数据源执行命令。公开Parameters,并且可以通过Connection在Transaction的范围内执行。DataReader从数据源中读取只进且只读的数据流。DataAdapterDataAdapter使用Command对象在数据源中执行SQL命令,用数据源填充DataSet并解析更新。Connection对象Connection对象主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,是无法从数据库中取得数据的。它就像是我们的水库到水源的一条管道,有了Connection对象,我们的应用程序就能够连接到数据库了。连接数据库连接数据库主要分为3步:1.定义连接字符串(ConnectionString)

例如: StringConnectionString="DataSource=STUDENT;InitialCatalog=dept_emp;UserID=sa";其中:DataSource=服务器名;InitialCatalog=数据库名;UserID=用户名。连接数据库2.创建Connection对象使用定义好的连接字符串创建Connection对象。SqlConnectioncon=newSqlConnection(conString);//conString为前面定义好的连接字符串连接数据库3.打开与数据库的连接调用Connection对象的Open()方法打开数据库连接。连接数据库在这三步中,第一、二步也可以调换,可以先创建一个Connection对象,再设置它的ConnectionString属性,如: SqlConnectioncon=newSqlConnection(); StringconString="datasource=.;initialcatalog=EBuy;userid=sa;pwd=sa";//大小写不区分 con.ConnectionString=conString;Command对象Command对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令。这个对象是架构在Connection对象上,Connection连接到哪个数据库,Command对象的命令就下到哪里。使用Command对象(1)创建数据库连接。按照我们前面讲过的步骤创建一个Connection对象。(2)定义执行的SQL语句。将我们想对数据库执行的SQL语句赋给一个字符串。(3)创建Command对象。使用已有的Connection对象和SQL语句字符串创建一个Command对象。(4)执行SQL语句。使用Command对象的某个方法执行命令。Command对象例子SqlConnectioncon=newSqlConnection("datasource=.;initialcatalog=PersonInfo;userid=sa");//创建连接stringstrsql="select*fromstudent";//定义sql语句SqlCommandcom=newSqlCommand(strsql,con);//创建Command对象con.Open();//打开连接com.ExecuteReader();//执行sql查询语句//….其他操作con.Close();//关闭连接DataSet对象数据集不直接和数据库打交道,它和数据库之间的相互作用都是通过.NET数据提供程序来完成的,所以数据集是独立于任何数据库的。DataSet对象创建DataSet需要使用new关键字。语法格式为:DataSet数据集对象=newDataSet("数据集的名称字符串");DataAdapter对象数据适配器从数据库读取数据,是通过一个Command命令来实现的把数据放在数据集(DataSet)中,需要使用DataAdapter的Fill()方法(Fill:填充)。DataAdapter对象使用DataAdapter填充数据集需要以下4个步骤:(1)创建数据库连接对象(Connection对象)。(2)创建从数据库查询数据用的SQL语句。(3)利用上面创建的SQL语句和Connection对象创建DataAdapter对象。 DataAdapter对象名=newSqlDataAdapter(查询用的SQL语句,数据库连接);(4)调用DataAdapter对象的Fill()方法填充数据集。使用DataGridView显示数据SqlConnectioncon=newSqlConnection("datasource=.;initialcatalog=dept_emp;userid=sa");//创建连接stringstrsql="selectempno员工编号,deptno部门编号,ename姓名,salary薪水fromemp";//查询字符串,并增加别名

SqlCommandcom=newSqlCommand(strsql,con);//创建命令使用DataGridView显示数据SqlDataAdaptersda=newSqlDataAdapter(com);//创建适配器DataSetds=newDataSet();//创建数据集con.Open();//打开连接sda.Fill(ds,"emp");//填充数据集con.Close();//关闭连接dgvShowEmp.DataSource=ds;//确定数据源dgvShowEmp.DataMember="emp";//显示视图使用DataGridView显示数据DataReader对象

使用DataReader的步骤如下:(1)创建Command对象。(2)调用Command对象的ExecuteReader()方法创建DataReader对象。假设已经有一个Command对象名为com,就可以这样创建一个DataReader对象:SqlDataReadersdr=com.ExecuteReader();DataReader对象(3)使用DataReader的Read()方法读取数据。这个方法返回一个布尔值,如果能读到一行记录,就返回True,否则返回False。sdr.Read()(4)读取当前行的某列的数据。我们可以像使用数组一样,用方括号来读取某列的值,如(type)sdr[],方括号中可以像数组一样使用列的索引,从0开始,也可以使用列名。取出的列值要进行类型转换,如:

stringename=(string)sdr["ename"];(5)关闭DataReader对象,调用它的Close()方法。

ADO.NET对象模型ADO.NET对象模型总结DataSet的设计目的是为了实现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论