SQL数据库编程技术在Foxpro中的应用

来源 :硅谷 | 被引量 : 0次 | 上传用户:kunming
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]SQL是高级的非过程化编程语言,可以写出非常复杂的语句。SQL数据库编程技术在Foxpro中的应用是FoxPro推出的另一项具有革命性意义的关键技术。介绍SQL的定义以及SQL数据库编程技术在Foxpro中的应用。
  [关键词]SQL语句 非过程化语言 存储过程
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0220071-01
  
  当今,数据库联网实现数据共享已经成为信息系统建设中一个迅速发展的潮流。利用SQL Server、Oracal、Sybase等客户机/服务器(Client/Se
  rver)体系结构的数据库系统进行信息系统的开发、更新改造已成为当前一大趋势。而Foxpro是我国近年应用较为广泛的数据库开发软件,许多单位、部门多年来积累了大量的宝贵的数据资料,这些部门面临进行计算机信息系统改造、更新问题,下面主要介绍如何在DBF数据表中运用SQL Server语言。
  
  一、SQL的概念
  
  SQL全称是“结构化查询语言(Structured Query Language)”是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
  SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作,具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,可以写出非常复杂的语句。
  SQL语言包括两种主要程式设计语言类别的陈述式:资料定义语言(DDL)与资料操作语言(DML)。DDL用于定义和管理物件,例如资料库、资料表以及检视表。DDL陈述式通常包括每个物件的CREATE、ALTER以及DROP命令。举例来说,CREATE TABLE、ALTER TABLE以及DROP TABLE这些陈述式便可以用来建立新资料表、修改其属性(如新增或删除资料行)、删除资料表等。DML利用INSERT、SELECT、UPDATE及DELETE 等陈述式来操作资料库物件所包含的资料。
  
  二、SQL的优点
  
  SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益匪浅。
  (一)非过程化语言
  SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。
  (二)统一的语言
  SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。SQL为许多任务提供了命令,包括:
  1.查询数据;
  2.在表中插入、修改和删除记录;
  3.建立、修改和删除数据对象;
  4.控制对数据和数据对象的存取;
  5.保证数据库一致性和完整性。
  
  三、执行存储过程
  
  JDBC调用存储过程,并使用存储过程的返回值。这样可以将处理工作分为服务端和客户端两部分,并大大加快系统的设计和开发的时间。比如可以重复使用服务器上的组件。使用存储过程之后大量存储计算工作可以交给数据库服务器来处理,这将降低Web服务器的负载,从而提高整个系统的性能。
  四、使用事务
  1.事务中的操作是一个整体,要么都执行成功要么都不成功:事务开始后,如果所有的改变都正确,则使用commit方法将这些动作全部存入数据库,否则就使用rollback取消所有的改变动作,而这时数据库中的数据和执行事务前的是相同的。
  2.使用事务时应当先用con.setAutoCommit(false),最后使用commit或者rollback。
  3.rollback一般在catch段执行。
  
  五、数据库连接池
  
  如果有一个数据库连接请求并且连接中没有连接,则生成一个新的连接。这个连接使用完之后并不关闭它,而是将它放入连接池。在这个过程中,还要判断连接池中的连接是否超期。如果超期则将它关闭。
  
  六、小结
  
  综上所述,SQL语言是强大的数据语言。SQL Fox的开发人员第一次用单一语句取代了整个程序过程,并且这种支持是内含于Fox数据引擎之中的,是一次具有革命意义的技术进步。
  
  参考文献:
  [1]胡维华主编,《Visual FoxPro程序设计教程》,浙江科学技术出版社,杭州,2000.
  [2]陈华生主编,《Visual FoxPro教程》,苏州大学出版社.
  [3]http://www.zk168.com.cn/INFO/Study/FreeThesis/In.29K 2006-6-29.
  [4]http://www.dongkai.me/blog-it-related-articles/6-history-of-sql.html,SQL发展历史.
其他文献
[摘要]以大庆催化裂化(FCC)油浆为原料,糠醛为抽提溶剂,在最佳剂油比及抽提温度下抽提原料得到富芳馏分(FCCRF)。进而以FCCRF为原料,在高压反应釜内采用热处理方法制备浸渍剂沥青,并通过对浸渍剂沥青进行一定的性能分析,确定了最佳反应条件。本条件所制得的石油系浸渍剂沥青,部分性能优于国内外同类产品。  [关键词]FCC油浆 FCCRF 热处理 浸渍剂沥青  中图分类号:TE99 文献标识码:
期刊
[摘要]分别研究SSH和传输层代理技术的工作原理,提出基于SSH应用服务的传输层代理实现方法,然后详细讨论TCP和UDP两种协议的代理实现和其中的端口重定向实现,最后给出部分实现代码及端口重定向配置规则。  [关键词]SSH 网络隔离 代理 端口重定向  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0220032-01    一、引言    传统的网络服务如FTP、Te
期刊
摘要: 从秦山二期扩建现场GB工艺管廊管道及支架表面涂层起泡现象的发现,从油漆的性能、施工工艺与环境等因素进行分析,探讨其对策,使这一问题得以解决。  关键词: 管道;支架;油漆;起泡;原因;对策  中图分类号:TU5文献标识码:A文章编号:1671-7597(2010)0620146-01
期刊
[摘要]介绍SOA的概念、特征、优点等,较为深入讨论SOA的实现技术Web Services及在.NET平台上的创建、发布和客户端调用过程。其次,通过对高校试题库的需求分析,提出基于SOA的高校试题库系统的系统架构和分层设计。  [关键词]面向服务的体系结构 Web服务 .NET 试题库  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0220044-01    一、系统
期刊
[摘要]介绍一种基于单片机和EDA技术的逻辑分析仪,阐述逻辑分析仪的工作原理和软硬件设计。  [关键词]逻辑分析仪 FPGA 单片机 AD7715  中图分类号:TP2文献标识码:A文章编号:1671-7597(2009)0220029-01    一、引言    随着大规模集成电路和微型计算机的发展,现代数字系统越来越复杂。在很多数字电路的研究和实验中,往往需要同时查看多路数字信号的时序关系,甚
期刊
[摘要]将web service技术与J2ME技术相结合,利用J2ME开发手机客户程序,调用企业应用服务器发布的Web Service,手机客户程序可以解析Web Service返回的XML数据。  [关键词]J2ME Webservice XML SOAP JSR17  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0220051-01    一、引言    与以PC为
期刊
[摘要]阐明Visual Basic可视化编程方法进行图形程序设计的通用方法,以具体实例说明了Visual Basic图形处理过程中坐标设置、像素点、图形、颜色值的定义、读取、处理及各种图形艺术化处理的技术和方法,并给出处理图形的应用程序。  [关键词]VB 图形方法 像素 过程代码  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0220069-01    一、引言  
期刊
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0220054-02    提到FTP服务器,可能大家都会想到Serv-U、vs-FTP等软件,确实,Serv-U是一种被广泛运用的FTP服务器端软件,支持全Windows系列。可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。它具有非常完备的安全特性,支持SSl FTP传输,支持在多个Ser
期刊
[摘要]对一个生物电波应用程序中的数据采集方法进行了研究,阐述多线程的原理及实际应用方法,运用VC++实现了数据采集。生物电波应用程序是针对医院的一些生物电波采集仪器,结合现代医学生理学原理与临床应用的实际需要设计的。医生在生物电波采集设备的帮助下,通过计算机上简单的操作界面,对患者的身体某部位的生物电波进行采样,然后对所得到的数据进行分析和测量。  [关键词]数据采集 VC++ 生物电波  中图
期刊
[摘要]互联网技术屏蔽了底层网络硬件细节,使得异种网络之间可以互相通信。TCP/IP协议组是目前使用最广泛的网络互连协议。但TCP/IP协议组本身存在着一些安全性问题。这就给“黑客”们攻击网络以可乘之机。由于大量重要的应用程序都以TCP作为它们的传输层协议,因此TCP的安全性问题会给网络带来严重的后果。  [关键词]TCP/IP 定时器 状态转移  中图分类号:TP3 文献标识码:A文章编号:16
期刊