




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualC#.NET程序设计教程,第4章2008.2,4.1数据库基础4.2SQL查询基础4.3使用ADO.NET4.XADO.NET对象,第4章ADO.NET数据访问技术,1.数据库:所谓数据库(Database)是指一组排列成易于处理或读取的相关信息,它是由一个或多个表对象组成的集合。这有些类似于Excel的工作簿和工作表。2.数据库管理系统:DBMS3.数据库应用程序:数据库应用程序是指用VB、Delphi等开发工具设计的、实现某种特定功能的应用程序。,4.1.1有关数据库的概念,4.1数据库基础知识(1),关系型数据库是根据表、记录和字段之间的关系进行数据组织和访问的一种数据库,它通过若干个表(Table)来存储数据,并通过关系(Relation)将这些表联系在一起。,4.1.2关系型数据库,4.1数据库基础知识(2),一、桌面数据库Access、Paradox、FoxPro和dBase等。二、客户服务器数据库SQLServer、Oracle、Sybase等。,4.1.3关系型数据库的分类,4.1数据库基础知识(3),SQL是StructuredQueryLanguage(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。,4.2SQL查询基础,ADO-ActiveXDataObject,基于数据库连接的操作模式,ADO.NET:“非连接“模式访问数据库。访问数据库时,首先要建立与数据库的连接,从数据库中下载需要的数据到本地缓冲区,之后断开与数据库的连接。此时对数据的操作(添加、修改、删除等)都是在本地进行的,只有需要更新数据库中的数据时,才再次与数据库连接,在发送修改后的数据到数据库后关闭连接。,4.3.1ADO.NET概述,优点:大大减少了因连接过多(访问量较大时)对数据库服务器资源的大量占用。,4.3使用ADO.NET,ADO.NET也支持在连接模式下的数据访问方法,该方法主要通过DataReader对象实现。该对象表示一个向前的、只读的数据集合,其访问速度非常快,效率极高,但其功能有限。ADO.NET传送的数据都是XML格式的;,4.3.1ADO.NET概述(续一),4.3使用ADO.NET,Connection对象,用于连接和管理数据库事务;Command对象,用于向数据库发送命令;DataSet对象,用于对驻留内存中的数据进行存储和操作;DataAdapter对象,提供内存中数据集与数据库交换数据通道(又称“数据适配器”);用于直接读取流数据的DataReader对象。,4.3.2ADO.NET的对象模型,4.3使用ADO.NET,4.3使用ADO.NET,4.3.2ADO.NET的对象模型(续一),引入ADO.net命名空间(imports/using)System.Data对象,ADO.NET命名空间的核心;System.Data.OleDb连接OleDb数据源,如Access,Excel等数据源;System.Data.SqlClient连接SQLServer数据源(sql7.0以上)System.Data.OracleClient连接Oracle数据源System.Data.Odbc连接ODBC数据源,4.3.2ADO.NET的对象模型(续二),4.3使用ADO.NET,4.3.2ADO.NET的对象模型(续三),4.3使用ADO.NET,1、创建ADO.NET应用程序的步骤方法一:使用数据适配器创建Connection对象,连接数据库。创建DataAdapter对象,提供数据源与记录集之间的数据交换,数据库与内存中数据交换。创建DataSet对象,将从数据源中得到的数据保存在内存中,并对数据进行各种操作等过程。创建Windows窗体,并向其中添加必要的控件。设置各控件的属性,编写主要控件的事件代码。,4.3.3使用ADO.NET访问数据库,4.3使用ADO.NET,方法二:使用DataReader创建Connection对象,连接数据库。创建Command对象,执行SQL命令。创建DataReader对象,提供数据源与记录集之间的数据交换,数据库与内存中数据交换。注意:使用此方法时需与数据库保持连接,4.3.3使用ADO.NET访问数据库(续一),4.3使用ADO.NET,4.3.3使用ADO.NET访问数据库,2.使用ADO.NET控件访问数据库3.使用ADO.NET代码访问数据库4.使用数据窗体向导,4.3使用ADO.NET,4.4Connection对象(属性与方法),主要属性:ConnectionString,连接字符串Provider,DataSource,Userid,Password,InitialCatalogConnectionTimeout,连接超时的秒数DataBase,返回数据库的名称(只读)DataSource,返回Datasource属性的名称(只读)State,返回数据库的状态主要方法:Open,Close,BeginTransaction,4.4Connection对象(使用示例),stringconnStr=Provider=Microsoft.Jet.OLEDB.4.0;”+“DataSource=.dbDB.mdb“;OleDbConnectionconn;conn=newOleDbConnection(connStr);conn.Open();conn.Close();,4.4Connection对象(其它),保存连接字符串至App.config文件:Accesss数据源的其他说明:是否包含在项目中如果包含在项目中,是否复制,4.5DataAdapter,数据适配器,DataAdapter(续一),主要作用:在数据库与DataSet之间建立桥梁作用构造方法OledbDataAdaptercmd=newOledbDataAdapter(sql,conn);其中sql为SQL语句,conn为连接或连接字符串常用适配器OledbDataAdapterSqlDataAdapterOracleAdapter,DataAdapter(续二),主要属性:SelectCommand,选择DeleteCommand,删除UpdateCommand,更新InsertCommand,插入说明:可以根据SelectCommnad使用CommandBuilder构造其它几个语句,此时要求数据表有主键.,DataAdapter(续三),Fill方法执行适配器的SelectCommandDataAdapter.Fill(ds),填充数据集DataAdapter.Fill(ds,”table”),填充数据表Update方法执行适配器的Update、Insert、Delete等命令DataAdapter.Update(ds),更新数据集DataAdapter.Update(ds,”table”),更新数据表,4.6DataSet,主要作用用作一个非连接的数据缓存,从数据源检索的数据都存放在其中命名空间System.Data.DataSet,4.6DataSet(续一),与数据表的关系,注:数据表之间还可以建立关系,4.6DataSet(续二),数据来源DataAdapter.Fill(ds),填充数据集DataAdapter.Fill(ds,”table”),填充数据表访问数据表dataSet.Tables“tablename”类型化类型化数据集(类)非类型化数据集(对象或实例),4.6DataSet(续三),常用方法AcceptChanges,提交GetChanges,返回一个Dataset对象HasChanges,是否发生变化RejectChanges,恢复到上一次的状态Clear,清除所有的表,4.7DataTable,使用说明内存中的一个关系数据表,可以作为数据集的成员来使用,也可以单独创建和使用。命名空间System.Data.DataTable,4.7DataTable(续一),基本组成DataRow,DataColumn主要方法NewRow,Delete,Compute其它数据行的状态(P391)Current,Default,Original,Proposed,4.8Command对象,对象类型SqlCommand,OledbCommand工作于连接状态构造方法OleCommandcmd=newOleCommand(sql,conn);其中sql为SQL语句,conn为连接主要属性CommandType(Text,TableDirect,StoredProcedure)CommandText,SQL语句,4.8Command对象(执行方式),ExecuteNonQuery方法进行不返回任何行的查询(返回一个整数)适合Update,Delete,Insert语句ExecuteReader,方法返回一个数据集Reader对象,该对象连接到数据库的结果集上,允许行检索适合返回多个结果的Select语句ExecuteScalar,方法返回第1行第1列的值(object类型)适合返回单个值的语句,4.9DataReader,创建说明通常不单独使用,一般由Command对象的ExecuteReader方法来产生DataReader对象使用说明用来访问一组前向只读的数据行,在这个过程中一直保持与数据库的连接。通常用于从数据库中返回少量只读数据,优点是速度较快。常用方法Read、GetValue、NextValue、Close,4.9DataReader(使用示例),conn.Open();myReader=cmd.ExecuteReader();While(myReader.Read()/读入一行/处理数据/myReader.GetString(1)以字符格式取出当前行的第二列/myReader.GetFloat(2)myReader.Close();conn.Close();,4.10DataGridView控件,主要作用:常用来浏览数据,也可用于简单的编辑数据.数据来源DataSource数据集(DataSet)数据表(DataTable)或表的视图(DataView)BindingSource控件数据来源DataMember数据表(当DataSource指定为数据集时,则需要指定此属性为数据集中的表),4.10DataGridView控件(续一),主要属性格式控制Columns,数据列ReadOnly,只读AllowUserTo(Add,Delete,Order,Resize)Rows,允许用户的操作CurrentCell,CurrentRow,运行时属性,4.10DataGridView控件(续二),主要事件Click,点击事件CellClick,单元格点击事件DefaultValuesNeeded,添加新行时发生RowLeave,行离开事件,4.11其他对象(数据绑定),DataBind设计时绑定运行时绑定txtName.DataBindings.Add(Text,myDataSet.TablesMEMBER”,”FieldName);/绑定某一字段BindingManagerBindingManagerBasebm;bm=this.BindingContextds.TablesMEMBER“;见范例,4.11其他对象(绑定控件),BindingSource设置D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津硬笔书法4级考试题目及答案
- 文化传播-濒危语言保护政策在跨文化交流中的作用-洞察及研究
- 2025年公需科目考试网络安全建设与网络社会治理试题库(含答案)
- 2025年秋季学期高中校长“开学第一课”主题讲话:坚定信念成就自我
- 2025年高校辅导员结构化面试题含题集及参考答案
- 基层医疗综合试题及答案
- 护理类文职题库及答案
- 规范资金风险管理办法
- 中山机场保安管理办法
- 融资机构费用管理办法
- 2025年秋三年级上册语文同步教案 4 古诗三首
- 航运品牌国际化拓展策略-洞察及研究
- 《矿图》教学课件
- 《中华传统文化教育》课件(第一章-思想文化)
- (高清版)DB1301∕T 345-2020 优 质冬小麦石农952栽培技术规程
- 餐饮技术入干股协议书
- T/GIEHA 034-2022等离子体空气消毒机
- 2025入党考试试题及答案
- 即时检验在急重症的应用管理专家共识(2024)解读
- 教科版五年级上册科学教学计划附进度表
- 红色国潮风汉宫春晓图宣传介绍教育课件
评论
0/150
提交评论