《c连接数据库》PPT课件.ppt

上传人:赵** 文档编号:63993959 上传时间:2022-11-27 格式:PPT 页数:54 大小:917KB
返回 下载 相关 举报
《c连接数据库》PPT课件.ppt_第1页
第1页 / 共54页
《c连接数据库》PPT课件.ppt_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《《c连接数据库》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《c连接数据库》PPT课件.ppt(54页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、使用ADO.NET访问数据库主要内容lADO.NET与数据库概述lADO.NET类和对象概述lADO.NET基本数据库编程数据库访问接口lC#中接口就是ADO.NET和后台的数据库(包括SQLServer,Oracle,Access,Excel电子表格,甚至文本文件等)的连接部分。l微软设计的ADO.NET并不是针对某个特定的数据库的,而是希望能够从所有的主流数据库中提取数据,而且ADO.NET也成功做到了这一点。这里的接口就是ADO.NET和数据库如何连接的方法。l基于ADO.NET开发的数据库系统,其结构如下图所示。数据库访问接口1ADO.NET与数据库概述lADO.NET(即Active

2、DataObjects.NET)是.NETFramework的重要组成部分,使用ADO.NET可以很方便的访问数据库。ADO.NET是数据库应用程序和数据源沟通的桥梁,主要提供一个面向对象的数据存储结构,用来开发数据库应用程序。ADO.NET的架构主要是希望能够在做处理数据的同时,不要一直和数据库联机,而导致一直占用系统资源的现象发生。1ADO.NET与数据库概述l为了解决此问题,ADO.NET将存取数据和数据处理分开,达到离线访问数据的目的,使得数据库能够执行其他操作。因此将ADO.NET架构分成.NET数据提供程序和DataSet数据集(数据处理的核心)两个主要部分。l数据库是有组织的信息

3、集合。关系型数据库是一组相关信息的集合,组成表格结构。2ADO.NET类和对象概述lADO.NET中的类大概可分为.NET数据提供者对象和用户对象两种,.NET数据提供者对象专用于每一种类型的数据源,专用于提供者的用户对象完成在数据源中实际的读取和写入工作。用户对象是将数据读入到内存中后用来访问和操作数据的对象。用户对象以非连接方式使用。在数据库关闭之后也可以使用内存中的数据,而.NET数据提供者对象中要求活动的连接。.NET数据提供者对象l常用的.NET数据提供者对象分为以下4种:lSQLServer数据源提供程序lOLEDB(ObjectLinkingandEmbedding,即对象链接和

4、嵌入技术)数据源提供程序lORACLE数据源提供数据l与ODBC兼容的数据源提供程序。所有的数据提供程序都位于System.Data命名空间中。ODBClODBC即OpenDatabaseConnectivity,开放式数据库连接技术。使用ODBC的目标是使程序员开发的数据库项目可以几乎不加改动地访问不同操作系统平台上的各种数据库,如Windows平台上的SQLServer,Oracle,Access,UNIX平台上的Oracle等。OLEDBODBC接口出现之后,在很长的时间内一直是程序员开发数据库系统的首选接口技术,因为它比较简单。但ODBC接口有两个主要的缺陷。lODBC接口只能连接关系

5、型数据,比如,关系型数据库、Excel、规定格式的文本等。但不能用于非关系型的数据,如电子邮件数据等。lODBC由于需要支持很多类型的数据库,普遍适用,但对每种数据库的支持都不是特别理想。OLEDBlOLEDB(ObjectLinkingandEmbedding,即对象链接和嵌入技术)是新一代数据接口标准,其设计要求是能够以统一的方式访问所有的数据类型。换句话说,开发的数据库项目的后台数据库几乎可以是所有的数据类型。目前OLEDB也逐步成为了利用ADO.NET开发数据库项目的接口标准。微软已经开发了许多标准的OLEDB驱动程序。lOLEDB接口中没有集中管理OLEDB驱动程序,而是开发了各种数

6、据库的OLEDB驱动程序,程序员可以按照数据库类型的不同选择驱动程序。OLEDB和和ODBC的比较的比较lOLEDB接口追求的是“专用”,每种类型的数据库有自己专用的OLEDB接口驱动程序。lODBC接口追求的是“通用”,首先都要使用ODBC数据源管理器,然后调用自己的驱动程序。l提示:正是由于OLEDB接口的驱动程序是针对特定类型的数据库设计的,所以尽管通用性差一些,但效率更高。.NET数据提供者对象lConnection对象lCommand对象lDataReader对象lDataAdapter对象用户对象l一般性数据类对象可以为数据库中的信息存储一个本地拷贝,从而可以在切断数据库连接时处理

7、这个信息。可以按任何顺序读行,可以按灵活的方式搜索、排序和过滤这些行,甚至可以改变这些行,然后将所做的改变同步到数据库中,主要包含以下几种对象。lDataSet对象lDataTable对象lDataRow对象lDataColumn对象使用System.Data命名空间l进行ADO.NET程序开发的第一步就是引用System.Data命名空间,其中含有所有的ADO.NET类,将using指令插入在程序的顶端:usingSystem.Data;1.SQLServer.NET数据提供者usingSystem.Data.SqlClient;2.OLEDB.NET数据提供者usingSystem.Dat

8、a.OleDb;3.Oracle数据提供者usingSystem.Data.OracleClient;4.ODBC.NET数据提供者usingSystem.Data.Odbc;连接并使用数据库一般步骤l1.创建数据库,如Access,SQLServer2000等l2.使用Connection对象连接数据库l3.使用Command对象对数据源执行SQL命令并返回数据l4.使用DataReader和DataSet对象读取和处理数据源的数据l5.断开数据库连接例1lusingSystem;lusingSystem.Data.SqlClient;lnamespaceMyFirstExamplellcl

9、assMyFirstExamplellstaticvoidMain(stringargs)ll/连接SQL Server2000数据库的字符串lStringconnectionString=lserver=localhosthmx;database=Northwind;uid=sa;pwd=;l/创建SqlConnection对象,并连接到SQL Server2000自带的 Northwind 数据库lSqlConnectionmySqlConnection=newSqlConnection(connectionString);l/创建SqlCommand对象lSqlCommandmySqlC

10、ommand=mySqlConnection.CreateCommand();lstringcommandString=SelectCustomerID,CompanyName,ContactName,Addressl+FromCustomersWhereCustomerID=ALFKI;lmySqlCommand.CommandText=commandString;l/用Connection对象的Open()方法打开数据库mySqlConnection.Open();l/创建SqlDataReader对象,并执行ExecuteReader()方法lSqlDataReadermySqlData

11、Reader=mySqlCommand.ExecuteReader();l/读取每行记录 lmySqlDataReader.Read();l/显示列属性值lConsole.WriteLine(mySqlDataReaderCustomerID=+mySqlDataReaderCustomerID);lConsole.WriteLine(mySqlDataReaderCompanyName=+mySqlDataReaderCompanyName);lConsole.WriteLine(mySqlDataReaderContactName=+mySqlDataReaderContactName);

12、Console.WriteLine(mySqlDataReaderAddress=+mySqlDataReaderAddress);lConsole.Write(恭喜,显示数据任务完成!);lConsole.ReadLine();l/关闭SqlDataReader对象lmySqlDataReader.Close();l/关闭数据库连接lmySqlConnection.Close();l3ADO.NET基本数据库编程l常用的数据库编程包括连接数据库、插入新的数据、删除数据和修改数据,即执行SQL语法中的Insert、Delete、Update语句。连接数据库l进行ADO.NET的开发首先需要进行

13、数据库的连接。本例子中的数据库是SQLServer2000中自带的Northwind数据库。下面的代码是一个连接字符串样本,用来访问Northwind数据库。连接数据库lstaticprivatestringGetConnectionString()ll/适用于SQL Server数据库lreturnserver=localhost;database=Northwind;uid=sa;pwd=sa;l/适应于Access等数据库lreturnProvider=Microsoft.Jet.OleDb.4.0;DataSource=C:MyFile.mdb;l其中C:MyFile.mdb为存放Ac

14、cess数据库文件的位置。插入新的数据记录l使用Command对象的ExecuteNonQuery()方法来实现插入数据操作,用SQL的Insert语句来设定具体的要插入的新记录内容。下面的程序实现在Northwind数据库中的Student表中插入一条新的记录。程序代码如下:lusingSystem;lusingSystem.Data;lusingSystem.Data.SqlClient;lnamespaceADONETWriteQueryll插入新的数据记录lclassADONETWriteQueryllstaticvoidMain(stringargs)ll/连接SQL Server2

15、000数据库的字符串lStringconnectionString=lserver=localhosthmx;database=mydata;uid=sa;pwd=;l/创建SqlConnection对象,并连接到SQL Server2000的 mydata 数据库lSqlConnectionmySqlConnection=newSqlConnection(connectionString);l插入新的数据记录l /创建SqlCommand对象lSqlCommandmySqlCommand=mySqlConnection.CreateCommand();l/创建SQL的Insert语句,在St

16、udent表中输入一条新的记录lstringInsertString=INSERTINTOStudent(StudentNo,StudentName,Sex)VALUES(060203,王二,男);mySqlCommand.CommandText=InsertString;l/用Connection对象的Open()方法打开数据库lmySqlConnection.Open();l插入新的数据记录l/用SqlCommand对象,插入一条新的记录lmySqlCommand.ExecuteNonQuery();lConsole.Write(恭喜,输入新数据任务完成!);l/关闭数据库连接lmySql

17、Connection.Close();lConsole.ReadLine();lll删除数据记录l使用Command对象的ExecuteNonQuery()方法来实现删除数据操作,用SQL的Delete语句来设定具体的要删除的记录。l下面的程序实现了在Northwind数据库中的Student表中删除指定的记录。l程序清单如下:lusingSystem;lusingSystem.Collections.Generic;lusingSystem.Text;lusingSystem.Data;lusingSystem.Data.SqlClient;lnamespaceADONETDeleteQue

18、ryll删除数据记录lclassADONETDeleteQueryllstaticvoidMain(stringargs)ll/连接SQL Server2000数据库的字符串lstringconnectionString=l“server=localhosthmx;database=Northwind;uid=sa;pwd=;l/创建SqlConnection对象,并连接到SQL Server2000自带的 Northwind 数据库lSqlConnectionmySqlConnection=newlSqlConnection(connectionString);l删除数据记录l/创建SqlC

19、ommand对象lSqlCommandmySqlCommand=mySqlConnection.CreateCommand();l/创建SQL的Delete语句,在Student表中删除指定的记录lstringDeleteString=DELETEFROMStudentWHEREStudentName=赵一;lmySqlCommand.CommandText=DeleteString;l删除数据记录l/用Connection对象的Open()方法打开数据库lmySqlConnection.Open();l/用SqlCommand对象,删除满足条件记录lif(mySqlCommand.Execu

20、teNonQuery()0)lConsole.Write(“恭喜,从Student删除指定记录任务完成!”);/返回受影响记录行数lelselConsole.Write(“没有满足条件的记录”);l/关闭数据库连接lmySqlConnection.Close();lll修改数据记录l使用Command对象的ExecuteNonQuery()方法来实现修改数据操作,用SQL的Update语句来修改指定记录内容。l下面的程序实现在Northwind数据库中的Student表中修改指定的记录。l程序清单如下:lusingSystem;lusingSystem.Data;lusingSystem.Da

21、ta.SqlClient;lnamespaceADONETModifyQueryll修改数据记录lclassADONETModifyQueryllstaticvoidMain(stringargs)ll/连接SQL Server2000数据库的字符串lstringconnectionString=lserver=localhosthmx;database=Northwind;uid=sa;pwd=;l/创建SqlConnection对象,并连接到SQL Server2000自带的 Northwind 数据库lSqlConnectionmySqlConnection=newlSqlConnect

22、ion(connectionString);修改数据记录l/创建SqlCommand对象lSqlCommandmySqlCommand=mySqlConnection.CreateCommand();l/创建SQL的Update语句,在Student表中修改指定的记录lstringModifyString=UPDATEStudentSETSex=女WHEREStudentName=赵一;lmySqlCommand.CommandText=ModifyString;l修改数据记录l /用Connection对象的Open()方法打开数据库lmySqlConnection.Open();l/用SqlCommand对象,修改指定的记录lmySqlCommand.ExecuteNonQuery();lConsole.Write(恭喜,从Student修改指定记录任务完成!);l/关闭数据库连接lmySqlConnection.Close();lll数据绑定 Windows窗窗体体的的数数据据绑绑定定便便于于在在窗窗体体控控件件中中显显示示数数据据,如如果果使使用用DataGrid控控件件,则则需需要要使使用用DataGrid控件进行绑定。主要通过控件进行绑定。主要通过Fill()方法。方法。附:附:DataGridView控件连接数据库控件连接数据库操作演示操作演示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com