




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第10章C#数据库操作,【案例41】在VisualStudio2005集成开发环境中创建数据库本案例中,将学习如何在VisualStudio2005集成开发环境中创建数据库,效果如图所示。1创建数据库2创建表3输入数据,10.1数据库开发基础,图在VisualStudio2005集成开发环境中创建数据库,【案例42】在MicrosoftAccess中创建数据库本案例中将学习如何在MicrosoftAccess中创建数据库,效果如图所示。1创建数据库2创建表3输入数据,图在MicrosoftAccess中创建数据库,【案例43】商品信息浏览本案例中,将通过数据绑定来快速地创建一个可以浏览商品数据信息的程序。效果如图所示。在本案例实现过程中,将学习如何通过BindingSource组件和DataGridView进行数据绑定,以方便地实现数据库的浏览。案例实现过程如下。1创建项目2界面设计3DataGridView控件设置,图商品信息浏览,10.2.1数据绑定控件数据绑定指的是将数据源连接到一个和多个控件,对显示数据、提供数据修改对象,实现数据记录的导航,数据查询等等。数据绑定实现了从程序前台的控件到后台数据源之间的透明连接,设计者只需要将控件的适当属性与数据源相连接,而不需要详细地知道它是如何实现对数据源的访问。,10.2通过数据组件访问数据库,1简单绑定控件可进行简单绑定的控件有文本框、标签、按钮、复选框和单选按钮等等。(1)文本框、标签和按钮的绑定展开属性窗口的DataBindings类,设置Text属性绑定到数据源的某一个字段上。单击Advanced属性,可设置字段显示的格式(2)复选框与单选按钮的绑定展开属性窗口的DataBindings类,设置Checked、CheckState、Text属性绑定到相同数据类型的字段上。,2复杂绑定控件简单绑定只能将控件绑定到当前记录的一个字段上,一次只能显示一个数据项。复杂绑定控件则可以同时显示多个数据项。复杂绑定控件主要有ListBox、ComboBox、DataGridView、ReportView控件等。复杂绑定的常用绑定属性如下:(1)DataSource:绑定到数据源,通常是DataSet数据集(2)DataMember:绑定到所使用的数据集中的数据成员,通常是数据集中的表。(3)DisplayMember:绑定到控件的当前显示字段(4)ValueMember:绑定到控件的值属性,3、DataGridView控件用来绑定一个或多个数据表,可以灵活地进行数据的浏览和修改4、BindingSource控件用来简化将窗体上的控件绑定到数据源的过程。控件的常用属性如下:(1)DataSource:绑定到数据源,通常是DataSet数据集(2)DataMember:绑定到所使用的数据集中的数据成员,通常是数据集中的表。5、BindingNavigator控件可以将绑定到控件中的数据进行导航和操作。控件的常用属性如下:(1)Dock属性:设置控件的位置(2)BindingSource:绑定到数据源,【案例44】商品信息查询在【案例43】中通过DataGridView控件很容易地实现了信息浏览,但是,在数据库应用开发中,大多数情下并不是使用DataGridView控件来显示数据。因为DataGridView控件对于每个记录的内容较多的表进行显示时会显示不全,且看上去显得繁杂,不宜用于在大量信息中显示出用户需要的信息。本案例中将实现另一种形式的商品信息浏览,来解决这一问题。并且,程序中还可以通过下拉组合框的选项来选择查询要显示的商品信息查询,程序效果如图所示。,图商品信息浏览,在本案例实现过程中,将学习简单绑定控件和BindingNavigator控件的应用。案例实现过程如下。1创建项目2界面设计3BindingSource组件设置4数据绑定组件设置,10.3ADO.NET数据应用,10.3.1ADO.NET简介1ADO.NET概述ADO.NET是.NETFrameWork中用以操作数据库的类库的总称。ADO.NET模型中包含了能够有效地管理数据的组件类。ADO.NET是一组向.NET程序员公开数据访问服务的类。,DataSet,SQLServer.NET数据提供程序,OLEDB.NET数据提供程序,SQLServer7.0(或更高版本),OLEDB数据源(SQLServer6.5),OleDbConnection,OleDbDataAdapter,SqlDataAdapter,SqlConnection,DataTable,DataTable,ADO.NET对象模型,3ADONET访问数据库的步骤ADO.NET编程过程一般可以分为五步:(1)选择所使用的数据源,即选择使用哪个.NETFrameword数据提供程序(2)与数据库建立连接(创建Connection对象)(3)发出SQL命令,执行对数据库的操作(创建Command对象或DataAdapter对象)(4)使用数据集对由数据库返回获得的数据进行各种操作(创建DataReader对象或DataSet对象缓存数据)(5)使用各种数据控件构建用户界面,将数据库内容显示给用户,10.3.2.NETFramework数据提供程序,.NETFramework包括4种不同的数据提供程序,在应用程序中使用ADO.NET时,必须根据数据提供程序引入不同的命名空间。usingSystem.Data;1、SQLServer.NETFramework数据提供程序:访问SQLServer7.0或以上版本的数据源,需引入System.Data.SqlClient命名空间2、OLEDB.NETFramework数据提供程序:访问OLEDB公开的数据源,如Access,需引入System.Data.OleDb命名空间,10.3.2.NETFramework数据提供程序,3、ODBC.NETFramework数据提供程序:访问ODBC公开的数据源,需引入System.Data.Obdc命名空间4、Oracle.NETFramework数据提供程序:访问Oracle数据源,需引入System.Data.OracleClient命名空间,10.3.3数据连接对象ConnectionConnection对象用于连接数据库,可通过该连接来访问数据库。不同的数据库有不同的Connection对象。1连接不同数据源的ConnectionSqlConnection对象:用于连接SQLServer7.0及以上版本的数据库OleDbConnection对象:用于连接OLEDB数据库(如SQLServer6.5以前版本和Access)ObdcConnection对象:用于ODBC数据源应用程序OracleConnection对象:用于连接Oracle数据库,2Connection常用属性和方法(1)ConnectionString属性:获取或设置用于打开数据库的字符串。(2)DataSource属性:获取数据源的服务器名或文件名。(3)Database或InitialCatalog属性:获取当前数据库或连接打开后要使用的数据库的名称。(4)UserID属性和Password属性:获取访问数据库的用户名和密码,(5)Open方法:打开数据库连接。(6)Close方法:关闭到数据源的连接。3、创建Connection对象格式:Connection对象名=newConnection(连接字符串)对象名.Open()对象名.Close(),连接到Access数据库test.mdb:OleDbConnectionmyconn=newOleDbconection(“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=f:test.mdb”);字符串太长,可以改写成如下两条命令:stringstrCon=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=f:test.mdb”;OleDbConnectionmyconn=newOleDbconection(strCon);myconn.Open();连接到SQLServer2005中的数据库northwindStringstrCon=“DataSource=teacher1;Database=northwind;IntegratedSecurity=true”;SqlConnectionmuconn=newSqlConnection(strCon);myconn.Open();,多媒体演示ADO.NET对象模型,比较使用DataSet与DataReader,使用DataReader方式访问数据需使用Command对象和DataReader对象使用DataSet方式访问数据需使用DataAdapter对象和DataSet对象,创建DataReader,使用DataReader创建并打开数据库连接创建Command对象从Command对象创建DataReader调用ExecuteReader方法使用DataReader对象关闭DataReader对象关闭数据库连接,1,2,3,4,5,6,7,10.3.4Command对象,Command对象用来向数据库发出各种SQL命令,例如:查询、插入、修改和删除等命令。根据.NETFramework数据提供程序的不同,选择相应的Command对象,有SqlCommand、OleDbCommand、ObdcCommand、OracleCommand对象。1、Command对象主要属性:(1)CommandText:获取或设置欲对数据源执行的SQL命令、存储过程名称或数据表名称(2)Connection:获取或设置Command对象所使用的数据连接,2、Command对象主要方法:(1)ExecuteReader:返回记录行,给DataReader对象(2)ExecuteNonQuery:执行Insert、Delete、Update语句等命令(3)ExecuteScalar:从数据库中检索单个值3、创建Command对象的语法:Command对象名=newCommand(SQL命令,连接字符串)或Command对象名=newCommand;对象名.CommandType=Command.Text;对象名.Command.Text=SQL命令;对象名.Connection=连接字符串;,10.3.5DataReader对象,ADO.NET有两种访问数据源的方式,分别为DataReader对象及DataSet对象。前者是高度优化的对象,专为仅向前方式滚动只读记录而设计。后者是记录在内存中的缓存,可以从任何方向随意访问和修改。DataReader对象是读取数据源最简单的方式,占用内存空间小,效率佳,但是灵活性差。1、使用DataReader对象读取数据库的步骤如下:(1)使用Connection对象创建数据连接(2)使用Command对象对数据源执行SQL命令并返回结果(3)使用DataReader对象读取数据(OleDbDataReader或SqlDataReader),DataReader对象是通过Command对象的ExecuteReader方法从数据源中检索行创建的。2、DataReader对象的主要方法:(1)Read方法:读取DataReader对象中的下一条数据并返回布尔值。True表示还有下一条数据(2)Get方法:通过向DataReader传递列的名称(Getname(ordinal))或序号(Getordinal(name))引用,可以访问返回的每一列(Getvalue(ordinal)),并且序号从0开始。,stringstrCon=“DataSource=teacher1;Database=northwind;IntegratedSecurity=true;SqlConnectionmyConn=newSqlConnection(strCon);stringstrCom=SELECT*FROMbookorderby编号;myConn.Open();SqlCommandmyCom=newSqlCommand(myCom,myConn);SqlDataReadermyreader=myCom.ExecuteReader();myreader.Read();textBox1.Text=myreader.GetInt32(0).ToString();textBox2.Text=myreader.GetInt32(1).ToString();textBox3.Text=myreader.GetString(2);textBox4.Text=myreader.GetString(3);textBox5.Text=myreader.GetBoolean(4).ToString;myreader.Close();myConn.Close();,SQLServer2000,DataSet,DataTable,DataTable,物理存储数据,OleDb数据库,SqlDataAdapter,SqlConnection,DataTable,Web服务器内存,OleDbDataAdapter,OleDbConnection,DataSet,DataAdapter对象模型,sp_SELECT,Command,SelectCommand,UpdateCommand,InsertCommand,DeleteCommand,DataAdapter,Command,Command,Command,Connection,sp_UPDATE,sp_INSERT,sp_DELETE,数据库,DataSet,10.3.6DataAdapter对象DataAdapter数据适配器是通过SQL命令访问数据库的中间件,主要作用是在数据库与DataSet对象之间传递数据,用于填充DataSet数据集和更新数据源。1、两个主要的DataAdapter对象:OleDbDataAdapter:适用于Access数据源SqlDataAdapter:适用于SQLServer7.0以上版本2、创建DataAdapter对象的格式:DataAdapter对象名=newDataAdapter(SQL命令,连接字符串)3、DataAdapter的主要方法:(1)Fill方法:将数据从数据源装载到DataSet对象中(2)Update方法:为DataSet中每个已插入、已更新或已删除的行调用相应的Insert、Update、Delete语句。,10.3.7DataSet对象数据集DataSet是ADO.NET模型的核心构件,是一个数据集,主要用来存放从数据库中取回的数据,用于支持ADO.NET中的离线数据访问。DataSet对象是一种非连接的数据缓存,可看作是复制到内存中的数据库。当使用DataAdapter的Fill方法,将所连接数据库中的数据放入DataSet对象之后,与数据库的连接即断开。应用程序直接从DataSet对象中读取数据,更新数据时,先更新DataSet对象中的数据,再将更新传回数据库。1、创建DataSet对象的格式:DataSet对象名=newDataSet();,程序在处理DataSet中的数据时,无需要建立与数据库的持久连接,只有在填充数据和保存对数据修改时才需要与数据源相连接,在其它时间处理数据时,不需要保持与数据源的连接,极大地节省了系统开销。,每个DataSet都可以包含多个DataTable对象,每个DataTable都代表了来自数据源的一张表。Tables属性值是DataTable对象集。每个DataTable数据表都由相应的行和列组成。一个DataColumn对象代表了数据表中的一个列,Columns属性值是DataColumn对象集。一个DataRow对象代表了数据表中的一行,Rows属性值是DataRow对象集。因此可以直接使用这些对象访问数据集中的数据。例:textBox1.Text=myDataSet.Tab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年甘肃省定西市三上数学期末学业水平测试模拟试题含解析
- 食品安全小妙招
- 高级会计考试阶段性总结与试题答案
- 《西南醇牛肉方案》课件
- 聚焦2024年民用航空器维修考试热点及试题与答案
- 2025年LED二三极管项目发展计划
- 团日活动上报流程
- 2025年共享充电宝项目发展计划
- 云南省临沧地区中学2025届高三下学期适应性月考卷(七) 物理试题(含答案)
- 供应链管理在大型企业的实践教学课件
- 北京市丰台区2025届高三二模语文试题(含答案)
- 外贸英语词汇
- 中级出版专业技术人员职业资格2025年笔试题库附答案
- 江苏南通2025年公开招聘农村(村务)工作者笔试题带答案分析
- 2025年浙江省衢州市中考一模英语试题(原卷版+解析版)
- 专利代缴年费合同协议
- 高级激光应用试题及答案
- 2024中国国新基金管理有限公司相关岗位招聘7人笔试参考题库附带答案详解
- GB 28050-2025食品安全国家标准预包装食品营养标签通则
- 登高车安全培训
- 人教版七年级地理下册 第九章第三节 撒哈拉以南的非洲(上课、学习课件)
评论
0/150
提交评论