单元37:数据库项目开发_第1页
单元37:数据库项目开发_第2页
单元37:数据库项目开发_第3页
单元37:数据库项目开发_第4页
单元37:数据库项目开发_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、单元单元37:数据库项目开发:数据库项目开发VB.NET+ADO.NET数据库连接对象数据库连接对象1.2.数据适配器对象数据适配器对象主要内容主要内容数据集对象数据集对象 3.4.命令对象命令对象数据显示控件数据显示控件5.选择选择 .NET 数据提供程序数据提供程序提供程序提供程序 注释注释SQL Server.NETNET 数据提供程序数据提供程序 建议用于使用建议用于使用 Microsoft SQL Server 7.0 或更高版本或更高版本的中间层应用程序。的中间层应用程序。 OLE DB .NET对于对于 Microsoft SQL Server 版本版本 6.5 和和较早版本,必

2、须将用于较早版本,必须将用于 SQL Server 的的 OLE DB 提供程序与提供程序与 OLE DB .NET 数数据提供程序一起使用据提供程序一起使用 对象对象 OLE DB供应程序供应程序 System.Data.OleDb名字空名字空间间 SQL供应程序供应程序 System.Data.SqlClient名字名字空间空间DataAdapter System.Data.OleDb.OleDbDataAdapter System.Data.SqlClient.SqlDataAdapter Connection System.Data.OleDb.OleDbConnection Syst

3、em.Data.SqlClient.SqlConnection Command System.Data.OleDb.OleDbCommand System.Data.SqlClient.SqlCommand DataReader System.Data.OleDb.OleDbDataReader System.Data.SqlClient.SqlDataReader 选择选择 .NET 数据提供程序数据提供程序ADO.NET体系结构体系结构.NET 的四个核心对象的四个核心对象 对象说明Connection建立与特定数据源的连接。Command对数据源执行命令。公开 Parameters,并且

4、可以从 Connection 在 Transaction 的范围内执行。DataReader从数据源中读取只进且只读的数据流。DataAdapter 用数据源填充 DataSet 并解析更新。.NET 的四个核心对象的四个核心对象 访问数据的两种基本方式访问数据的两种基本方式方式方式1:DataAdapter及及DataSet方式方式2:Command及及DataReader它们都要使用它们都要使用Connection及及Command方式方式1可以自动建立可以自动建立Command对象,适合于对象,适合于“离离线线”处理处理方式方式2适合于只读数据,效率较高适合于只读数据,效率较高2. Co

5、nnection和和CommandConnection对象对象对于不同的对于不同的Data Provider有不同有不同Connection对对象象System.Data.SqlClientSqlConnectionOpen()方法方法SQL Provider使用它来与使用它来与SQL Server 7+数据库进行连接数据库进行连接ConnectionString属性属性指定连接字符串参数指定连接字符串参数Command对象对象SqlCommand对象对象CommandText属性属性指定需要执行的指定需要执行的DML命令,命令,来操纵数据来操纵数据Connection属性属性为为SqlCom

6、mand对象指定对象指定SqlConnection对象对象SqlParameters属性(属性(Collection)包含了一包含了一组组Command对象的参数对象的参数ExecuteNonQuery()方法方法ExecuteScalar()方法方法从从DML语句中只返回一语句中只返回一个单独的值,返回结果集中的第一行第一列个单独的值,返回结果集中的第一行第一列ExecuteReader()方法方法返回一个返回一个SqlDataReaderSQL Server导入的命名空间导入的命名空间语法如下:语法如下:连接连接SQL Server的连接串的书写格式的连接串的书写格式 string con

7、nString=server=localhost;database=pubs;uid=sa;pwd=;SqlConnection Conn = new SqlConnection(connString);使用使用Connection对象对象与数据库的所有通信都要通过一个打开的连接来与数据库的所有通信都要通过一个打开的连接来进行。在对一个数据库进行数据的插入和读取之进行。在对一个数据库进行数据的插入和读取之前,必须先打开与这个数据库的连接。前,必须先打开与这个数据库的连接。这种打开和关闭一个连接的操作与打电话的过程这种打开和关闭一个连接的操作与打电话的过程有相似之处。在你能够与有相似之处。在你能

8、够与SQL Sever进行通信之进行通信之前,你必须先建立连接。前,你必须先建立连接。连接字符串连接字符串(1)连接)连接Access数据库,使用数据库,使用Microsoft.Jet.OLEDB.4.0Provider=Microsoft.Jet.OLEDB.4.0;Password=xxx;User ID=Admin;Data Source=D:CsExamplech10BIBLIO.MDB(2)连接)连接Sql Server数据库,使用数据库,使用OLE DB ProviderProvider=SQLOLEDB;Data Source=MyServer;Initial Catalog=M

9、yDataBase;User Id=MyUser;Password=MyPassword(3)连接)连接Sql Server数据库,使用数据库,使用SqlServer Providerdata source=MyServer;initial catalog=MyDataBase;user id=MyUser;password=MyPassword(4)连接)连接Oracle数据库,使用数据库,使用OLE DB ProviderP r o v i d e r = M S D A O R A . 1 ; D a t a S o u r c e = o r a c l e _ d b ; U s e

10、 r ID=scott;Password=tiger(5)连接)连接Oracle数据库,使用数据库,使用OLE DB ProviderUser Id=scott;Password=tiger;Data Source=使用使用Command对象对象建立数据连接以后,可以利用建立数据连接以后,可以利用Command对象来执对象来执行命令并从数据源返回结果行命令并从数据源返回结果Command对象可以对象可以用用Command的构造函数来创建的构造函数来创建ExecuteReaderExecuteScalarExecuteNonQuery使用使用ExecuteReader方法方法ExecuteRea

11、der方法返回一个方法返回一个DataReader对象。对象。DataReader对象是一个仅向前的只读的数据流。对象是一个仅向前的只读的数据流。一般一般ExecuteReader方法都执行方法都执行SQL语句中的语句中的select语句。首先介绍语句。首先介绍Select语句的三种基本形语句的三种基本形式。式。使用使用Command对象对象ExecuteScalar方法返回单个值,如求和、总行方法返回单个值,如求和、总行数等数等SQL 语句的聚合函数。常用的语句的聚合函数。常用的SQL的聚合函的聚合函数如表数如表常用的常用的SQL的聚合函数的聚合函数函数函数返回数值返回数值AVG(表达(表达

12、式)式)返回表达式中所有值的平均值。仅用于数字返回表达式中所有值的平均值。仅用于数字列并自动忽略列并自动忽略 null 值。值。COUNT(表达式)(表达式)返回表达式中非返回表达式中非 null 值的数量。可用于数字值的数量。可用于数字和字符列。和字符列。COUNT(*)返回表中的行数(包括有返回表中的行数(包括有 null 值的行)。值的行)。MAX(表(表达式)达式)返回表达式中的最大值,忽略返回表达式中的最大值,忽略 null 值。可用值。可用于数字、字符和日期时间列。于数字、字符和日期时间列。MIN(表达(表达式)式)返回表达式中最小值,忽略返回表达式中最小值,忽略 null 值。可

13、用于值。可用于数字、字符和日期时间列。数字、字符和日期时间列。SUM(表达(表达式)式)返回表达式中所有值的总和,忽略返回表达式中所有值的总和,忽略 null 值。值。仅用于数字列。仅用于数字列。使用使用ExecuteNonQuery方方法法ExcuteNonQuery方法用于执行不需要返回结果方法用于执行不需要返回结果的命令,如插入、删除和更新等操作下面简单的命令,如插入、删除和更新等操作下面简单介绍数据介绍数据SQL 语句中的数据操作语言语句中的数据操作语言SQL语言语言基本分成三大体系:基本分成三大体系:数据定义语言数据定义语言DDL:用来定义数据:用来定义数据数据查询语言数据查询语言D

14、QL:数据检索语言:数据检索语言数据操作语言数据操作语言DML:包括:包括INSERT,UPDATE和和DELETE使用存储过程使用存储过程用用Command对象来使用存储过程对象来使用存储过程使用存储过程使用存储过程sqlCmd.CommandType = CommandType.StoredProcedure;使用参数使用参数cmd.CommandText = INSERT INTO Nations(CName, EName, FName) VALUES (CName, EName, FName);cmd.Connection = this.sqlConnection1;cmd.Param

15、eters.Add(CName, SqlDbType.VarChar, 60).Value = “aaaaaa”: ;使用参数比直接用字符串相加更安全,更清晰使用参数比直接用字符串相加更安全,更清晰cmd.CommandText = “Insert into Nataions(CName) Values(“ + xxx+ “)”;3. Command和和DataReader1)使用使用Command来获取来获取DataReader2)使用使用Command来获取一个数据来获取一个数据3)直接使用数据库命令直接使用数据库命令不同的不同的Provider有使用不同的有使用不同的DataReader

16、ADO.NET中最高效的得到数据的方法中最高效的得到数据的方法SqlDataReaderSqlCommand.ExecuteReader()方法方法SqlDataReader.Read()方法可以遍历结果集中的行方法可以遍历结果集中的行SqlDataReader按照当前行的列引索可得到每一列的按照当前行的列引索可得到每一列的数据,数据,GetString(),GetBoolean(),GetInt16(),GetInt32(),GetDateTime(),GetDecimal(),GetDouble(),GetFload(),GetGuid()使用使用DataReader对象对象DataRea

17、der对象用于从数据库中获取仅向前的的对象用于从数据库中获取仅向前的的只读数据流。只读数据流。由于在内存一次只存放一行数据,因此使用由于在内存一次只存放一行数据,因此使用DataReader对象可提高应用程序的性能,大幅度对象可提高应用程序的性能,大幅度减轻对内存的需求。减轻对内存的需求。DataReader对象通过对象通过Command对象的对象的ExecuteReader()方法创建。方法创建。4. DataAdapter和和DataSet1)使用使用DataAdapter来填充来填充DataSet2)取得取得DataSet中的数据中的数据3)修改修改DataSet中的数据中的数据4)添加

18、和删除行添加和删除行5)在在DataTable中查找数据中查找数据6)接受和拒绝更改接受和拒绝更改7)保存对保存对DataSet的改变返回数据库的改变返回数据库DataAdapter对象和对象和DataSet对象对象DataAdapter对象用于从数据源中获取数据、填充对象用于从数据源中获取数据、填充DataSet中的表和约束并将对中的表和约束并将对DataSet的更改提交回数据源。的更改提交回数据源。DataAdapter对象的对象的SelectCommand、InsertCommand、UpdateCommand和和DeleteCommand属性都是属性都是Command对象。其中对象。其

19、中SelectCommand用来执行查询。其他的几个用用来执行查询。其他的几个用于数据操作。于数据操作。DataSet中可以包含任意数量的中可以包含任意数量的DataTable(数据表),且(数据表),且每个每个DataTable对应一个数据库中的数据表和视图。一般来对应一个数据库中的数据表和视图。一般来说,一个对应说,一个对应DataTable对象的数据表就是一系列数据行和对象的数据表就是一系列数据行和列的集合。列的集合。DataTable会负责维护每一笔数据行保留它的初会负责维护每一笔数据行保留它的初始状态和当前状态,以解决许多人同时访问的问题。始状态和当前状态,以解决许多人同时访问的问题

20、。DataAdapter对象对象与与Provider相关相关与与select,update,insert,delete命令进行互操作命令进行互操作SqlDataAdapterInsertCommand属性属性UpdateCommand属性属性DeleteCommand属性属性SelectCommand属性属性Fill()方法方法需要一个需要一个DataSet类型的参数类型的参数Update()方法方法将将DataSet中的变更提交到数据库当中的变更提交到数据库当中,需要使用中,需要使用InsertCommand,UpdateCommand和和DeleteCommand可以自动产生可以自动产生CommandOleDbCommandBuilder cmdbld = new OleDbCommandBuilder( daAdapter );DataSet对象对象独立于数据独立于数据Store、Provider和和Connection离线模型离线模型Tables属性包含了一个或多个属性包含了一个或多个DataTable对象对象Relations属性可以包含一个或多个属性可以包含一个或多个DataRelation对象对象可以用可以用DataAdapter对象来

温馨提示

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

评论

0/150

提交评论