CN102053966A - 基于对象的数据库访问方法 - Google Patents

基于对象的数据库访问方法 Download PDF

Info

Publication number
CN102053966A
CN102053966A CN2009101977569A CN200910197756A CN102053966A CN 102053966 A CN102053966 A CN 102053966A CN 2009101977569 A CN2009101977569 A CN 2009101977569A CN 200910197756 A CN200910197756 A CN 200910197756A CN 102053966 A CN102053966 A CN 102053966A
Authority
CN
China
Prior art keywords
data
database
command
access
adaptive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2009101977569A
Other languages
English (en)
Inventor
应正文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanda University
Original Assignee
Sanda University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanda University filed Critical Sanda University
Priority to CN2009101977569A priority Critical patent/CN102053966A/zh
Publication of CN102053966A publication Critical patent/CN102053966A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明揭示了一种基于对象的数据库访问方法,包括:建立一访问对象模块,访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,连接对象与数据库连接,实现与数据库的数据交换;数据适配对象与数据集对象和连接对象连接;命令对象与连接对象连接;数据读取对象与连接对象连接;通过连接对象从数据库中获取数据并提供给数据读取对象;通过数据读取对象访问数据。采用本发明的技术方案,针对基于ASP.NET建立的数据库提出了基于对象的数据库访问方法,以实现对于基于ASP.NET建立的数据库的高效的访问。

Description

基于对象的数据库访问方法
技术领域
本发明涉及数据库技术,尤其涉及基于对象的数据库访问方法。
背景技术
Internet是全球最大的、开放的、由众多网络互联而成的计算机网络。现在Internet已发展为多元化,不仅仅单纯为科研服务,正逐步进入到日常生活的各个领域。近几年来,Internet在规模和结构上都有了很大的发展,已经发展成为一个名副其实的“全球网”。随着商业网络和大量商业公司进入Internet,网上商业应用取得高速的发展,同时也使Internet能为用户提供更多的服务,使Internet迅速普及和发展起来,使人类真正进入了高信息的时代。生活、工作、出行、购物已样样离不开网络,它的方便、快捷、高效、省心等诸多优点已成为人们追求高品质生活的有效保障。如今越来越多的领域都尝试着利用Internet这一高科技的手段提高工作效率、研发优质产品。
目前,WWW网页根据其生成方式,大致可以分为静态网页和动态网页两种。
网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的,这种网页一般以后缀.htm或.html存放。静态网页一经制成,内容就不会再变化,不管何时何人访问,显示的都是一样的内容,如果要修改有关内容,就必须修改源代码,然后重新上传到服务器上。比如一些常见的单位简介、个人介绍等页面。
所谓动态网页,就是说该网页文件不仅含有HTML标记,而且含有程序代码,这种网页的后缀一般根据不同的程序设计语言而不同,如ASP文件的后缀就为.asp。动态网页能够根据不同的时间、不同的来访者而显示不同的内容。如常见的BBS、留言版、聊天室通常是用动态网页实现的。
一般来说,静态网页制作比较简单,利用FrontPage、DreamWeaver等软件就可以方便地生成。而动态网页的制作就比较复杂,需要用到ASP、PHP、JSP等专门的动态网页设计语言。目前较为流行的做法是通过ASP和脚本语言或JSP和脚本语言,将动态网页和数据库相结合。但这种做法由于设计语言本身的局限性使得系统有一些不可克服的缺陷。
然而,自从微软公司正式公布庞大的.net战略以来,短短的两三年间,它迅速成为了企业级的应用和开发平台,而.net技术的发布也带来了Web开发技术的革命性进步。ASP.NET作为一种划时代的Web开发技术,随着.net平台的提出而问世,它所提供的事件驱动编程模型是以往任何一个Web开发技术所不具备的。ASP.Net是建立在微软新一代.Net平台架构上,利用普通语言运行时(Common Language Runtime)在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。
ASP.NET技术是一种基于对象的数据库技术,与传统的数据库技术有所不同,如何才能很好地对该类型的数据库进行高速的访问,是一个新的课题。
发明内容
本发明旨在提供基于对象的数据库访问方法。
根据本发明的一实施例,提供一种基于对象的数据库访问方法,包括:
建立一访问对象模块,访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,
连接对象与数据库连接,实现与数据库的数据交换;
数据适配对象与数据集对象和连接对象连接;
命令对象与连接对象连接;
数据读取对象与连接对象连接;
通过连接对象从数据库中获取数据并提供给数据读取对象;
通过数据读取对象访问数据。
根据本发明的一实施例,提供一种基于对象的数据库访问方法,包括:
建立一访问对象模块,访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,
连接对象与数据库连接,实现与数据库的数据交换;
数据适配对象与数据集对象和连接对象连接;
命令对象与连接对象连接;
数据读取对象与连接对象连接;
通过连接对象从数据库中获取数据并提供给数据适配对象;
所述数据适配对象使用数据对数据集对象进行填充;
通过数据集对象访问数据。
根据本发明的一实施例,提供一种基于对象的数据库访问方法,包括:
建立一访问对象模块,访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,
连接对象与数据库连接,实现与数据库的数据交换;
数据适配对象与数据集对象和连接对象连接;
命令对象与连接对象连接;
数据读取对象与连接对象连接;
命令对象产生SQL命令;
通过连接对象使用SQL命令访问数据库。
采用本发明的技术方案,针对基于ASP.NET建立的数据库提出了基于对象的数据库访问方法,以实现对于基于ASP.NET建立的数据库的高效的访问。
附图说明
图1揭示了本发明的一种基于对象的数据库访问方法的流程图。
图2揭示了本发明的另一种基于对象的数据库访问方法的流程图。
图3揭示了本发明的另一种基于对象的数据库访问方法的流程图。
图4揭示了本发明的访问对象模块建立的对象的结构图。
具体实施方式
参考图1所示,揭示了本发明的一种基于对象的数据库访问方法,包括:
10.建立一访问对象模块,访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,连接对象与数据库连接,实现与数据库的数据交换;数据适配对象与数据集对象和连接对象连接;命令对象与连接对象连接;数据读取对象与连接对象连接。图4揭示了访问对象模块建立的对象的结构图。其中的连接对象40位于最底层,用于与特定数据源的连接。命令对象41用于对数据源执行数据库命令,以及返回数据、修改数据、运行存储过程以及发送或检索参数信息等。数据读取对象42从数据源中读取只进且只读的数据流。数据适配对象43执行SQL命令并用数据源填充数据集对象44。数据适配对象43提供连接数据集对象44和数据源的桥梁。数据适配对象43使用命令对象41在数据源中执行SQL命令,以便将数据加载到数据集对象44中,并使数据集对象44中数据的更改与数据源保持一致。
11.通过连接对象从数据库中获取数据并提供给数据读取对象。
12.通过数据读取对象访问数据。
在一个实施例中,步骤11和12的具体实现方式如下:
数据读取对象42是用来读取数据库的最简单的方式,它只能读取,不能写入,并且是从头至尾按顺序依次读的。对于需要从数据库查询返回的结果中进行检索且一次处理一个记录的程序来说,该对象显的尤为重要。另外,采取这种方式每次处理时在内存只有一行内容,因此有助于减少系统开销,提高应用程序的性能。利用数据读取对象42的实现方式如下:
建立数据库链接,可以选SQLConnection或者OLedbConnection;
使用连接对象40的open方法打开数据库链接;
将查询保存在SQLCommand或者OledbCommand对象中;
调用命令对象41的ExecuteReader方法,将数据读入数据读取对象42;
调用数据读取对象42的Read或者Get方法读取一批数据,以便显示;
调用连接对象40的Close方法,关闭数据序链接。
每次使用完数据读取对象42都调用Close()方法关闭它。因为,当正在使用数据读取对象42时,它将独占与之关联的连接对象40,而且除了关闭数据读取对象42以外不能对连接对象40执行其他任何操作(包括创建另一个数据读取对象42)。
参考图2所示,揭示了本发明的另一种基于对象的数据库访问方法,包括:
20.建立一访问对象模块,访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,连接对象与数据库连接,实现与数据库的数据交换;数据适配对象与数据集对象和连接对象连接;命令对象与连接对象连接;数据读取对象与连接对象连接。图4揭示了访问对象模块建立的对象的结构图。其中的连接对象40位于最底层,用于与特定数据源的连接。命令对象41用于对数据源执行数据库命令,以及返回数据、修改数据、运行存储过程以及发送或检索参数信息等。数据读取对象42从数据源中读取只进且只读的数据流。数据适配对象43执行SQL命令并用数据源填充数据集对象44。数据适配对象43提供连接数据集对象44和数据源的桥梁。数据适配对象43使用命令对象41在数据源中执行SQL命令,以便将数据加载到数据集对象44中,并使数据集对象44中数据的更改与数据源保持一致。
21.通过连接对象从数据库中获取数据并提供给数据适配对象。
22.数据适配对象使用数据对数据集对象进行填充。
23.通过数据集对象访问数据。
在一个实施例中,步骤21-23的具体实现方式如下:
利用将数据记录缓存于数据集对象44中的方法就可以实现在无连接状态(或离线状态)下进行数据操作。它利用数据适配对象43的Fill方法将数据表填充到客户端数据集对象44中,填充后与数据库服务器的连接就断开了。然后在客户端对数据集对象44中的数据表进行读取和更改,并且可以利用数据适配对象43的Update方法把数据集对象4中数据表处理的结果更新到数据库中。
其中,数据集对象44是ADO.NET离线体系的核心,数据集对象44完全采用XML格式。数据集对象44的存在是ADO.NET与以前数的据结构之间的最大区别,它作为一个实体而单独存在,可以认为是内存中的数据库,但是,就其本身而言,它对涉及到的数据源或者目标是透明的。
数据集对象44的表(DataTable对象)存放在表集合(DataTableCollection对象)中,通过表集合来访问表。表的行(DataRow对象)存放在行集合(DataRowCollection对象)中,使用行集合来访问表的行。表的列(DataColumn对象)存放在列集合(DataColumnCollection 对象)中,通过列集合来访问表的列。DataRelationCollection存放数据关系(DataRelation对象),DataRelation描述数据表之间的关系,就像在数据集中执行Join命令将表连接。ForeignKeyConstraints是常用的关系之一,它将两个表以主从方式关联,可以强制数据集在执行更新操作时进行数据的一致性检查。
而数据适配对象43是数据集对象44和数据库之间的桥梁,它可以用来传递各种SQL命令,并把命令的执行结果填入数据集对象44。同样,数据适配对象43还可将数据集对象44更新过的数据写回数据库。
下面举一个范例代码,阐述应该如何打开到SQL Server数据库的连接以及用数据库查询结果填充数据集对象44:
参考图3所示,揭示了本发明的另一种基于对象的数据库访问方法,包括:
30.建立一访问对象模块,访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,连接对象与数据库连接,实现与数据库的数据交换;数据适配对象与数据集对象和连接对象连接;命令对象与连接对象连接;数据读取对象与连接对象连接。图4揭示了访问对象模块建立的对象的结构图。其中的连接对象40位于最底层,用于与特定数据源的连接。命令对象41用于对数据源执行数据库命令,以及返回数据、修改数据、运行存储过程以及发送或检索参数信息等。数据读取对象42从数据源中读取只进且只读的数据流。数据适配对象43执行SQL命令并用数据源填充数据集对象44。数据适配对象43提供连接数据集对象44和数据源的桥梁。数据适配对象43使用命令对象41在数据源中执行SQL命令,以便将数据加载到数据集对象44中,并使数据集对象44中数据的更改与数据源保持一致。
31.命令对象产生SQL命令;
32.通过连接对象使用SQL命令访问数据库。
在一个实施例中,步骤31-32的具体实现方式如下:
在ADO.NET中一般使用命令对象41执行SQL命令并从数据源中返回结果。常用的SQL命令如SELECT、UPDATE、NSERT、DELETE等都可以在命令对象41中创建。
创建Command对象的语法格式如下:
对OLE DB数据库:
OleDbCommand对象名=new OleDbCommand(cmdText,connection)
对SQL SERVER数据库:
SqlCommand对象名=new SqlCommand(cmdText,connection)
参数cmdText为要执行的SQL命令,连接对象40为使用的数据库连接。在创建命令对象41时这两个参数可以省略,而是在创建命令对象41之后,通过设置命令对象41的CommandText和CommandType等属性进行指定。有关命令对象41的属性如下:
CommandText:获取或设置要执行的SQL命令、存储过程或数据表名;
CommandTimeout:获取或设置命令对象41的超时时间,单位为s,若在此时间内命令对象41无法执行SQL命令,则返回失败。值为0表示不限制,默认为30s;
CommandType:获取或设置命令类别,可取值:Text,TableDirect,StoreProcedure,其含义分别为:SQL语句、数据表名和存储过程,默认为Text;
Connection:获取或设置命令对象41所使用的数据连接;
Parameters:SQL命令参数集合;
命令对象41的常用方法如下:
Cancel():取消命令对象41的执行;
CreateParameter():创建Parameter对象;
ExecuteNonQuery():执行CommandText属性指定的内容,返回数据表被影响的行数。只有Update,Insert和Delete命令会影响行数。该方法用于执行对数据库的更新操作;
ExecuteReader():执行CommandText属性指定的内容,返回数据读取对象42;
ExecuteScalar():执行CommandText属性指定的内容,返回结果表的第1行第1列的值。该方法只能执行Select命令;
Exe1cuteXmlReader():执行CommandText属性指定的内容,返回XmlReader对象。只有SQL SERVER才能用此方法。
采用本发明的技术方案,针对基于ASP.NET建立的数据库提出了基于对象的数据库访问方法,以实现对于基于ASP.NET建立的数据库的高效的访问。

Claims (3)

1.一种基于对象的数据库访问方法,其特征在于,包括:
建立一访问对象模块,所述访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,
连接对象与数据库连接,实现与数据库的数据交换;
数据适配对象与数据集对象和连接对象连接;
命令对象与连接对象连接;
数据读取对象与连接对象连接;
通过连接对象从数据库中获取数据并提供给数据读取对象;
通过数据读取对象访问所述数据。
2.一种基于对象的数据库访问方法,其特征在于,包括:
建立一访问对象模块,所述访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,
连接对象与数据库连接,实现与数据库的数据交换;
数据适配对象与数据集对象和连接对象连接;
命令对象与连接对象连接;
数据读取对象与连接对象连接;
通过连接对象从数据库中获取数据并提供给所述数据适配对象;
所述数据适配对象使用所述数据对数据集对象进行填充;
通过数据集对象访问所述数据。
3.一种基于对象的数据库访问方法,其特征在于,包括:
建立一访问对象模块,所述访问对象模块生成连接对象、命令对象、数据读取对象、数据集对象和数据适配对象,该访问对象模块连接到数据库其中,
连接对象与数据库连接,实现与数据库的数据交换;
数据适配对象与数据集对象和连接对象连接;
命令对象与连接对象连接;
数据读取对象与连接对象连接;
命令对象产生SQL命令;
通过连接对象使用SQL命令访问数据库。
CN2009101977569A 2009-10-27 2009-10-27 基于对象的数据库访问方法 Pending CN102053966A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101977569A CN102053966A (zh) 2009-10-27 2009-10-27 基于对象的数据库访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101977569A CN102053966A (zh) 2009-10-27 2009-10-27 基于对象的数据库访问方法

Publications (1)

Publication Number Publication Date
CN102053966A true CN102053966A (zh) 2011-05-11

Family

ID=43958305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101977569A Pending CN102053966A (zh) 2009-10-27 2009-10-27 基于对象的数据库访问方法

Country Status (1)

Country Link
CN (1) CN102053966A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468785A (zh) * 2014-12-08 2015-03-25 上海斐讯数据通信技术有限公司 电子设备、服务器设备、数据请求提交方法及处理方法
CN104657675A (zh) * 2015-02-12 2015-05-27 中復保有限公司 核心数据安全传输及存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468785A (zh) * 2014-12-08 2015-03-25 上海斐讯数据通信技术有限公司 电子设备、服务器设备、数据请求提交方法及处理方法
CN104657675A (zh) * 2015-02-12 2015-05-27 中復保有限公司 核心数据安全传输及存储方法

Similar Documents

Publication Publication Date Title
US7131063B2 (en) Method and system for delivering dynamic information in a network
Jazayeri Some trends in web application development
US7162687B2 (en) JSP tag libraries and web services
US7685135B2 (en) Database facility for XML server pages language
CN110502212B (zh) 一种面向多语言的高并发在线开发支撑方法
CN100501731C (zh) 延迟取出用户定义类型的指定成员的系统和方法
CN110908712A (zh) 移动端跨平台的数据处理方法和设备
CN104504160B (zh) 基于SSH框架的Excel文档在线批量写入方法
CN101789012B (zh) 基于j2ee的web动态页面静态化解决方法
CN107766532A (zh) 一种前端Node.js自动化正静态方法
CN101763423A (zh) 实现万维网页面树形结构数据展示的方法、系统及装置
CN107656951B (zh) 一种同步异构数据库系统中实时数据的方法
CN101488086A (zh) 一种基于领域模型的软件生成方法及装置
CN108228597A (zh) 数据库访问方法和装置
CN102184101A (zh) 一种面向智能手机的软件应用框架及其开发系统
US7624397B1 (en) Universal component system for application servers
CN109922131A (zh) 基于区块链的数据存储方法、装置、设备及存储介质
CN100470426C (zh) 使用动态目录提供设备信息的基金会现场总线服务器
CN102053966A (zh) 基于对象的数据库访问方法
CN104731606B (zh) 基于识别抓取技术实现企业应用集成管理的系统及方法
CN103501341A (zh) 一种Web服务的创建方法及装置
CN101533409B (zh) 一种网络浏览器系统和控制方法
CN111752921A (zh) 一种种质资源信息管理系统
CN103546527A (zh) 一种可扩展的工业组态或仿真软件通信方法
CN100573516C (zh) 虚拟机系统及利用该系统执行指令的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110511