ACCESS带参数的查询详解

来源 :电脑学习 | 被引量 : 0次 | 上传用户:ciximdt
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:总结了ACCESS中设计和实用带参数查询的方法。介绍了通过ADO访问ACCESS中的常规方法,并探讨了ACC-ESS中查询与存储过程的关系,以及以存储过程方式访问查询的方法。
  关键词: ACCESS 参数查询 存储过程
  
  1 ACCESS环境下的参数查询
  
  1.1在查询设计器中建立参数查询
  参数在查询中,通常作为查询条件准则的一个部分,比如,要根据产品的类别来列出产品清单(例一),则在查询的设计视图中,将字段列表中的[类别ID]字段拖到查询设计网格。然后在其下的“条件”单元格中,键入[a_类别],即建立了名为“a-类别”的参数,保存命名为[按类别查询产品]。
  特别注意的是,必须在用[]界定参数名,ACCESS的查询中,用[]来界定对象名,主要是表、查询、字段、参数等,如果在[]中的标识符不是表、查询、字段或其他对象的名称,则ACCESS将它视作参数。
  当我们运行查询的时候,系统弹出参数输入对话框,在输入框中输入实际参数值后,Access继续处理查询,然后在数据表中显示查询结果。
  
  1.2参数对话框的使用
  参数对话框有两个主要的作用,一是指定参数的数据类型;二是指定运行时参数的输入顺序。
  必须要指定参数的数据类型的两种情况是:(1)参数用于交叉表查询;(2)参数的数据类型为逻辑值(是/否)。在交叉表查询中,如果未在参数对话框中指定参数的数据类型,查询运行时将会报错而不能进行,这是由于iet引擎要求TRANSFORM查询中的变量必须有确定的数据类型。
  查询参数中有逻辑值(是/否)时,如果不在查询窗口中规定参数为逻辑型(是/否),则系统会把表示逻辑值的数值当成普通的数值,换而言之,只有输入-1/0时才能够和表中的值相匹配。如果在查询窗口中规定参数为逻辑型,那么输入非(4)、yes/no、true/false均能够和表中的值准确匹配。所以在这种情况下,也应在查询参数对话框中作明确的规定,以避免使用时的混乱。
  查询窗口的另外一个作用是,当有多个参数时,可以规定参数的输入顺序,在默认情况下,各参数的输入顺序是依其在查询设计网格中出现的位置来决定的,我们可以在查询参数设置对话框中输入相关的参数,强制性的规定各参数的输入顺序。
  
  1.3自定义有提示信息的参数输入窗口
  在ACCESS的查询设计器中,参数不仅可以是一个普通的变量,还可以是窗体、报表等容器中所包含的控件。利用这一特性,我们可以把带参数的查询和窗体、报表等结合起来,设计出有自定义提示信息的,或不同输入风格的参数输入窗口。如按类别查询产品时,可以先创建一个命名为“类别查询”的窗体,在该窗体中,创建一个命名为[类别1的组合框,用于输入参数,然后,在查询设计器中建立相应的查询,在[类别id]的条件单元格中输入“[Forms]![类别查询]![类别]”,这样,就可以把自定义窗体和查询联结起来,获得更个性化和高效的输入界面。
  
  2 用ADO访问带参数的查询
  
  2.1利用Parameters集合携带参数
  在ADO中,可以用多种方法来查询数据库,如果要使用查询参数时,则必须使用Command对象。
  使用Command对象通常用CommandText(属性定义命令)的可执行文本(例如SQL语句)。如果要运行一个查询,将CommandText属性的值设置为该查询的名称即可,然后,在适当时候,用Execute方法执行命令,并返回Recordset对象,但如果要运行一个带有参数的查询,常规的方法是,利用Parameter对象和Parameters集合。
  Command对象包含一个由Parameter对象组成的Pa-rameters集合。我们正是通过它们来传递参数的。其使用的过程是,使用CreateParameter方法创建带适当属性设置的Parameter对象,并使用Append方法将它们添加到Pa-rameters集合中,之后再使用Execute方法即可。
  在创建Parameter对象时,使用CreateParameter方法,其完整形式为:command,CreateParameter(Name,Type,Direction,Size,Value)
  Name为包含Parameter对象的名称,Type指定Pa-rameter对象的数据类型。Direction指定Parameter对象的类型,即该参数是输入参数还是输出参数等,由于AC-CESS只支持输入参数,因此该参数一般是adParamlnput。Size指定参数值的最大长度(以字符或字节为单位)。Value指定Parameter对象的值。这些参数均为可选参数,也可以通过对象的相关属性的设置来达到同样的目的。在将Pa-rameter添加到Parameters集合之前,应规定Parameter的数据类型。访问1.1中例1的[按类别查询产品]的代码如下:
  
  其中第二个参数为传递给存储过程的参数,注意,需要把存储过程的参数数组化后才能作为Execute的参数。
  比较两段代码,可以得到这样一个结论,如果查询带有参数,既可用Command对象的Parameters的当前值作为参数,也可以在Execute方法中调用传递的参数,对于性能不太敏感的应用而言,这两种方式是没有多大差别的,对于要求较高的性能,则需考虑采用何种方式,因为Command对象有一个CommandType属性,该属性指定系统按何种方式处理Commandtext,比如是按查询表的方式(adCmdTable),还是按存储过程的方式(adCmdStoredProe)。对不同的方式系统可以按其特性进行优化处理。而在以上两段代码中使用Command对象时,均未对Command对象的Command-Type属性作设置,此时取默认值adCmdUnknown表示类型未知,系统性能将会降低,因为ADO必须耗费代价来确定CommandText属性是SQL语句、存储过程还是表名。如果知道正在使用的命令的类型,设置CommandType属性可以提示ADO直接转入相关代码,所以,使用的查询是类似于SOL查询的返回,则应设置CommandType为ad-CmdTable,而其他无返回的的查询则建议使用adCmd-StoredProc,一旦明确了CommandType,那么调用方式就不可混淆,这样可以提高执行效率。问时我们也可以考虑到应用在ACCESS和SQL SERVER之间平滑迁移时的需要,来选择策略。
其他文献
研究背景  近年来随着经济快速发展,生活富裕的同时,也出现了大量生活物资的积压和浪费。闲置物品再利用对环境保护和绿色生态具有重要意义。本项目以社区为基点,以公益互助为目标,充分利用线上信息交流实现线下一定区域内闲置物品开放,提供平台实现R2R实物交换。具体内容包括:  在社区公共场地周边设立一个实物设备,配置相应的软件设计,为社区内居民闲置生活用品的自愿分享、交换和公益捐赠行为提供活动场地和平台。
1648年,有一位法国物理学家表演了一个著名的实验。他用1个密闭的装满水的桶,在桶盖上插入1根细长的管子,从楼房的阳台上向细管子里灌水,结果只用了几杯水,就把桶压裂了,桶里的水从裂缝中流了出来。这对许多人来说是不可思议的。这就是历史上有名的帕斯卡桶裂实验,而这位法国物理学家就是布莱士·帕斯卡(Blaise Pascal)。  幾杯水为什么能使桶破裂呢?其中的奥秘就是我们常常提到的压强。一个容器里的
2018年是北斗发展史上极不平凡的一年,一是高强密度组网形成全球服务能力,二是高可靠运行确保稳定服务,三是高标准打造国际合作新亮点,四是高精度特色带动应用新突破。未来,北斗将以更强的功能、更优的性能服务全球,造福人类。  马鞍山市钟村小学科技氛围浓厚,早在2016年就积极参加了“北斗领航梦想”科技实践活动。如今,学校再次将北斗科技引入校园,成立北斗科技社团,开展“北斗走天下”系列科技实践活动,让北
李劲堃  广东南海人。1958年生于广州。1982年毕业于肇庆师专艺术系油画专业。1987年毕业于广州美术学院中国画系山水专业研究生班,获硕士学位。毕业后任教于广州美术学院国画系,2002年调至广东画院。曾任广州美术学院中国画系副主任,广东画院创作室主任,广东青年画院院长。2010年调至岭南画派纪念馆。现为中国美术家协会会员,广东美术家协会副主席,广东美术家协会中国画艺委会执行主任;一级美术师。现
摘要:对真实的笔记本电脑DIY进行模拟,并介绍了笔记本电脑DIY的完整过程。  关键词:DIY CBB 准系统  中国分类号:TP368 文献标识码:A 文章编号:1002-2422(2008)04-0008-02    1 Intel CBB计划    英特尔自2004年第三季开始推动CBB计划,积极征询笔记本电脑产业链中业者意愿,2005年率先纳入硬盘、光驱及面板三项统一规格类别,并已由华硕、
北京市海淀区中关村第二小学于1971 年建校。目前,学校有中关村校区、华清校区、百旺校区、万泉河分校、昌平学校5 个校区,132 个教学班,324 名教职工,5 283名学生,实现了多校区“同步·优质·均衡”发展的特色办学之路。  在中关村二小“家园文化”的浸润下,学校深入落实“以人为本”的办学理念,着力实现学校全面、健康、可持续发展。科技教育是学校办学的重中之重,多年来,在科技教育团队的共同努力
展览时间:2012.12.20至12.31  展览地点:清华大学美术学院美术馆  清华大学美术学院绘画系教授,著名油画家王铁牛油画写生展展出画家近一两年的新作80余件,其中包括人物写生、风景写生;另有20世纪90年代在俄罗斯留学时期的少量作品。十几年跨度,不同时期的作品放在一起展出,从中能够清晰地看出王铁牛从深厚而明显的俄罗斯绘画风格的影响中一路走来的艺术轨迹。作品中充满生命的气息,亮丽而真实的色
“流动学校”(school on Wheel)概念是14年前Alexandru Mironov教授以罗马尼亚国家教科文组织全国委员会秘书长的身份在联合国教科文组织巴黎会议上提出的。这个想法受启发于一辆配备有可进行校外教学活动的汽车(例如大篷车)。联合国教科文组织罗马尼亚办事处的一个小组根据这个最初设想,在罗马尼亚的几个贫困地区实施了该项目,并得到相关知名人士和机构的支持。  自2010年以来,位于
继《大师名画1000幅》、《大师雕塑1000例》、《中国名画1000例》之后,广西美术出版社推出了《俄罗斯历史油画1000例》。这本书既丰富了“1000例”系列丛书,同时又有着深刻的意义。  一、俄罗斯油画是世界美术的一大宝藏  俄罗斯油画在世界美术史上占有特殊的地位,在俄罗斯这块神秘而充满民族风情的土地上,孕育了众多彪炳史册的美术巨匠,这些大师以深邃的艺术构思、精湛的绘画技巧构筑了俄罗斯绘画艺术
【摘要】留日艺术家的“速成”性质,让他们最先归国传授所学到的油画知识,成为中国首支大规模留学归国开展油画教育的队伍。某种程度上,他们的留学肩负着在艺术上睁眼看世界的使命。通过在日本间接学习到西方的油画传统,这种传统的传承更具有了去芜存菁的意识。在向藤岛武二学习油画过程中,他们追寻着另一条油画之路。不论具体的艺术观念先进与否,这些留日艺术家中的佼佼者却学到了藤岛扎实严谨的精神。因中日两国文化基因的相