收藏 分销(赏)

C#-数据库编程.ppt

上传人:天**** 文档编号:1885673 上传时间:2024-05-11 格式:PPT 页数:40 大小:751.50KB
下载 相关 举报
C#-数据库编程.ppt_第1页
第1页 / 共40页
C#-数据库编程.ppt_第2页
第2页 / 共40页
C#-数据库编程.ppt_第3页
第3页 / 共40页
C#-数据库编程.ppt_第4页
第4页 / 共40页
C#-数据库编程.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、Visual C#.NET 程序设计教程第第4章章2008.24.1 4.1 数据库基础数据库基础 4.2 SQL4.2 SQL查询基础查询基础4.3 4.3 使用使用ADO.NETADO.NET4.X ADO.NET 4.X ADO.NET 对象对象 第第4 4章章 ADO.NET ADO.NET数据访问技术数据访问技术 1.1.数据库:数据库:所谓数据库(Database)是指一组排列成易于处理或读取的相关信息,它是由一个或多个表对象组成的集合。这有些类似于Excel的工作簿和工作表。2.2.数据库管理系统:数据库管理系统:DBMS 3.3.数据库应用程序:数据库应用程序:数据库应用程序是

2、指用VB、Delphi等开发工具设计的、实现某种特定功能的应用程序。4.1.1 4.1.1 4.1.1 4.1.1 有关数据库的概念有关数据库的概念有关数据库的概念有关数据库的概念4.1 数据库基础知识(1)关系型数据库是根据表、记录和字段之间的关系进行数据组织和访问的一种数据库,它通过若干个表(Table)来存储数据,并通过关系(Relation)将这些表联系在一起。4.1.2 4.1.2 4.1.2 4.1.2 关系型数据库关系型数据库关系型数据库关系型数据库4.1 数据库基础知识(2)一、桌面数据库一、桌面数据库 Access、Paradox、FoxPro和dBase等。二、客户服务器数

3、据库二、客户服务器数据库 SQL Server、Oracle、Sybase等。4.1.3 4.1.3 4.1.3 4.1.3 关系型数据库的分类关系型数据库的分类关系型数据库的分类关系型数据库的分类4.1 数据库基础知识(3)SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。4.2 SQL查询基础SQL命令说 明Select查询数据,即从数据库中返回记录集Insert向数据表中插入一条记录Update修改数据表中的记录Delete删除表中的记录Create创建一个新的表Drop删除一个数据表 A

4、DO-ActiveX Data Object,基于数据库连接的操作模式,ADO.NET:“非连接“模式访问数据库。访问数据库时,首先要建立与数据库的连接,从数据库中下载需要的数据到本地缓冲区,之后断开与数据库的连接。此时对数据的操作(添加、修改、删除等)都是在本地进行的,只有需要更新数据库中的数据时,才再次与数据库连接,在发送修改后的数据到数据库后关闭连接。4.3.1 ADO.NET4.3.1 ADO.NET4.3.1 ADO.NET4.3.1 ADO.NET概述概述概述概述优点:优点:优点:优点:大大减少了因连接过多(访问量较大时)对数据库服大大减少了因连接过多(访问量较大时)对数据库服务器

5、资源的大量占用。务器资源的大量占用。4.3 使用ADO.NET ADO.NETADO.NET也也支持在连接模式下的数据访问方法,在连接模式下的数据访问方法,该方法主要通过该方法主要通过DataReaderDataReader对象实现。该对象表对象实现。该对象表示一个向前的、只读的数据集合,其访问速度非常示一个向前的、只读的数据集合,其访问速度非常快,效率极高,但其功能有限。快,效率极高,但其功能有限。ADO.NET ADO.NET传送的数据都是传送的数据都是XMLXML格式的格式的;4.3.1 ADO.NET4.3.1 ADO.NET4.3.1 ADO.NET4.3.1 ADO.NET概述概述

6、概述概述(续一续一续一续一)4.3 使用ADO.NET Connection对象,用于连接和管理数据库事务;Command对象,用于向数据库发送命令;DataSet对象,用于对驻留内存中的数据进行存储和操作;DataAdapter对象,提供内存中数据集与数据库交换数据通道(又称“数据适配器”);用于直接读取流数据的DataReader对象。4.3.2 ADO.NET4.3.2 ADO.NET4.3.2 ADO.NET4.3.2 ADO.NET的对象模型的对象模型的对象模型的对象模型4.3 使用ADO.NET4.3 使用ADO.NET4.3.2 ADO.NET4.3.2 ADO.NET4.3.2

7、 ADO.NET4.3.2 ADO.NET的对象模型(续一)的对象模型(续一)的对象模型(续一)的对象模型(续一)引入引入ADO.net命名空间命名空间(imports/using)System.Data对象,对象,ADO.NET命名空间的核心;命名空间的核心;System.Data.OleDb 连接OleDb 数据源,如Access,Excel等数据源;System.Data.SqlClient 连接SQL Server数据源(sql7.0以上)System.Data.OracleClient 连接Oracle数据源 System.Data.Odbc 连接ODBC数据源4.3.2 ADO.N

8、ET4.3.2 ADO.NET4.3.2 ADO.NET4.3.2 ADO.NET的对象模型(续二)的对象模型(续二)的对象模型(续二)的对象模型(续二)4.3 使用ADO.NET数据源ConnectionCommandDataAdapterSqlClientSqlConnectionSqlCommandSqlDataAdapterOdbcOdbcConnectionOdbcCommandOdbcDataAdapterOleDbOledbConnectionOledbCommandOledbDataAdapterOracleClientOracleConnectionOracleCommand

9、OracleDataAdapter4.3.2 ADO.NET4.3.2 ADO.NET4.3.2 ADO.NET4.3.2 ADO.NET的对象模型(续三)的对象模型(续三)的对象模型(续三)的对象模型(续三)4.3 使用ADO.NET 1、创建ADO.NET应用程序的步骤 方法一:使用数据适配器 创建Connection对象,连接数据库。创建DataAdapter对象,提供数据源与记录集之间的数据交换,数据库与内存中数据交换。创建DataSet对象,将从数据源中得到的数据保存在内存中,并对数据进行各种操作等过程。创建Windows窗体,并向其中添加必要的控件。设置各控件的属性,编写主要控件的

10、事件代码。4.3.3 4.3.3 4.3.3 4.3.3 使用使用使用使用ADO.NETADO.NETADO.NETADO.NET访问数据库访问数据库访问数据库访问数据库4.3 使用ADO.NET 方法二:使用DataReader 创建Connection对象,连接数据库。创建Command对象,执行SQL命令。创建DataReader对象,提供数据源与记录集之间的数据交换,数据库与内存中数据交换。注意:使用此方法时需与数据库保持连接4.3.3 4.3.3 4.3.3 4.3.3 使用使用使用使用ADO.NETADO.NETADO.NETADO.NET访问数据库访问数据库访问数据库访问数据库(

11、续一续一续一续一)4.3 使用ADO.NET4.3.3 4.3.3 4.3.3 4.3.3 使用使用使用使用ADO.NETADO.NETADO.NETADO.NET访问数据库访问数据库访问数据库访问数据库2.使用ADO.NET控件访问数据库3.使用ADO.NET代码访问数据库4.使用数据窗体向导 4.3 使用ADO.NET4.4 Connection对象(属性与方法)主要属性:ConnectionString,连接字符串Provider,Data Source,Userid,Password,Initial CatalogConnectionTimeout,连接超时的秒数DataBase,返回

12、数据库的名称(只读)DataSource,返回Data source属性的名称(只读)State,返回数据库的状态主要方法:Open,Close,BeginTransaction4.4 Connection对象(使用示例)string connStr=Provider=Microsoft.Jet.OLEDB.4.0;”+“Data Source=.dbDB.mdb“;OleDbConnection conn;conn=new OleDbConnection(connStr);conn.Open();conn.Close();4.4 Connection对象(其它)保存连接字符串至App.con

13、fig文件:Accesss数据源的其他说明:是否包含在项目中如果包含在项目中,是否复制4.5 DataAdapter数据适配器DataAdapter(续一)主要作用:在数据库与DataSet之间建立桥梁作用构造方法OledbDataAdapter cmd=new OledbDataAdapter(sql,conn);其中sql为SQL语句,conn为连接 或连接字符串常用适配器OledbDataAdapterSqlDataAdapterOracleAdapterDataAdapter(续二)主要属性:SelectCommand,选择DeleteCommand,删除UpdateCommand,更

14、新InsertCommand,插入说明:可以根据SelectCommnad使用CommandBuilder构造其它几个语句,此时要求数据表有主键.DataAdapter(续三)Fill方法执行适配器的SelectCommandDataAdapter.Fill(ds),填充数据集DataAdapter.Fill(ds,”table”),填充数据表Update方法执行适配器的Update、Insert、Delete等命令DataAdapter.Update(ds),更新数据集DataAdapter.Update(ds,”table”),更新数据表4.6 DataSet主要作用用作一个非连接的数据缓

15、存,从数据源检索的数据都存放在其中命名空间System.Data.DataSet4.6 DataSet(续一)与数据表的关系注:数据表之间还可以建立关系4.6 DataSet(续二)数据来源DataAdapter.Fill(ds),填充数据集DataAdapter.Fill(ds,”table”),填充数据表访问数据表dataSet.Tables“tablename”类型化类型化数据集(类)非类型化数据集(对象或实例)4.6 DataSet(续三)常用方法AcceptChanges,提交GetChanges,返回一个Dataset对象HasChanges,是否发生变化RejectChanges

16、,恢复到上一次的状态Clear,清除所有的表4.7 DataTable使用说明内存中的一个关系数据表,可以作为数据集的成员来使用,也可以单独创建和使用。命名空间System.Data.DataTable4.7 DataTable(续一)基本组成DataRow,DataColumn主要方法NewRow,Delete,Compute其它数据行的状态(P391)Current,Default,Original,Proposed4.8 Command对象对象类型SqlCommand,OledbCommand工作于连接状态构造方法OleCommand cmd=new OleCommand(sql,con

17、n);其中sql为SQL语句,conn为连接 主要属性CommandType(Text,TableDirect,StoredProcedure)CommandText,SQL语句4.8 Command对象(执行方式)ExecuteNonQuery方法进行不返回任何行的查询(返回一个整数)适合Update,Delete,Insert语句ExecuteReader,方法返回一个数据集Reader对象,该对象连接到数据库的结果集上,允许行检索适合返回多个结果的Select语句ExecuteScalar,方法返回第1行第1列的值(object类型)适合返回单个值的语句4.9 DataReader创建说

18、明通常不单独使用,一般由Command对象的ExecuteReader方法来产生DataReader对象使用说明用来访问一组前向只读的数据行,在这个过程中一直保持与数据库的连接。通常用于从数据库中返回少量只读数据,优点是速度较快。常用方法Read、GetValue、NextValue、Close4.9 DataReader(使用示例)conn.Open();myReader=cmd.ExecuteReader();While(myReader.Read()/读入一行 /处理数据 /myReader.GetString(1)以字符格式取出当前行的第二列 /myReader.GetFloat(2)

19、myReader.Close();conn.Close();4.10 DataGridView控件主要作用:常用来浏览数据,也可用于简单的编辑数据.数据来源DataSource数据集(DataSet)数据表(DataTable)或表的视图(DataView)BindingSource控件数据来源DataMember数据表(当DataSource指定为数据集时,则需要指定此属性为数据集中的表)4.10 DataGridView控件(续一)主要属性格式控制Columns,数据列ReadOnly,只读AllowUserTo(Add,Delete,Order,Resize)Rows,允许用户的操作Cu

20、rrentCell,CurrentRow,运行时属性4.10 DataGridView控件(续二)主要事件Click,点击事件CellClick,单元格点击事件DefaultValuesNeeded,添加新行时发生RowLeave,行离开事件4.11 其他对象(数据绑定)DataBind设计时绑定运行时绑定txtName.DataBindings.Add(Text,myDataSet.TablesMEMBER”,”FieldName);/绑定某一字段Binding ManagerBindingManagerBase bm;bm=this.BindingContextds.TablesMEMBE

21、R“;见范例4.11 其他对象(绑定控件)BindingSource设置DataSource属性设置其他数据显示控件的datasource为该控件BindingNavigatorItemsBindingSource4.11 其他对象(数据关系)DataRelation数据关系数据表之间的关系myDataSet.Relations.Add(relations_order_id,myDataSet.Tables“ORDERTITLE”.Columns“订单编号”,myDataSet.Tables“ORDERDETAIL”.Columns“订单编号”);见范例本章结束此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服