(计算机应用技术专业论文)vb访问sql+server数据库的方案分析.pdf_第1页
(计算机应用技术专业论文)vb访问sql+server数据库的方案分析.pdf_第2页
(计算机应用技术专业论文)vb访问sql+server数据库的方案分析.pdf_第3页
(计算机应用技术专业论文)vb访问sql+server数据库的方案分析.pdf_第4页
(计算机应用技术专业论文)vb访问sql+server数据库的方案分析.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)vb访问sql+server数据库的方案分析.pdf.pdf 免费下载

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

文档简介

中文摘要 自从客户一服务器模型和一系列与数据库编程相关的软件的面世 以后,如何高效的获得数据,发布数据就成为热门话题。m i c r o s o f t 的v i s u a lb a s i c 是在原有b a s i c 语言上的进一步发展,它具有简单 易用界面友好功能齐全等优点,但用v i s u a lb a s i c 访问数据库也有 许多可供选择的方案,如常用的o d b c ,a d o ,r d o 等。 m i c r o s o f ts q ls e r v e r 是关系型数据库中当前最受欢迎的数 据存储和数据检索模型。作为服务器数据库模型,它和大型机和小型 机数据库有所不同,它是通过客户机而不是输入输出设备被访问的, 而且在客户一服务器框架内,数据库也需要与服务器的通讯组件集成, 以便和客户系统连接。此外,s q ls e r v e r 也包含个人电脑数据库的 许多工具,当它们作为大型机或小型机数据库的一部分时是不可用 的,但可以通过s q l 语言存储,检索和管理数据库。 在本文的后半部分,结合一个以v b 为前台开发工具,s q l s e r v e r 作为后端的大型销售管理系统把上述功能具体化了,并对v 1 3 的开发前景进行了论述。 关键词:v b ,s q ls e r v e r ,o d b c ,a d o ,r d o ,s a m ,客户一服务器模型 a b s t r a c t a f t e rt h ea p p e a r a n c eo fc l i e n t s e r v e rm o d e la n dd a t a b a s er e l a t e ds o f t w a r e ,i th a d b e c o m eah o tt o p i ca b o u th o wt oo b t a i n ,d i s t r i b u t ed a t a e f f i c i e n t l y m sv bi sa d e v e l o p m e n to f b a s i cl a n g u a g e ,u s i n gs i m p l y f r i e n d l yf a c ea n df u l l yf u n c t i o na r ei t a d v a n t a g e sa 1 1 w 1 l i l et h e r ea r em a n ys e l e c t i v es c h e m co na c c e s s i n gd a t a b a s e f o r e x a m p l e0 d b c a d 0 r d 0 m ss q ls e r v e ri st h em o s tp o p u l a rd a t a s t o r a g ea n ds e a r c h i n gm o d e la m o n g r e l a t i o n a ld a t ab a s em a n a g e m e n t s y s t e m a st h es e r v e rd a t a b a g em o d e l s q ls e r v e ri s d i f f e r e n tf r o mt h ed a t a b a s ee x i s ti n m i n i c o m p u t e ra n dm a i n f r a m e i ti sc a l l e do n t h r o u g h c l i e n tp o i n tb u tn o ti n p u ta n d o u t p u td e v i c e s i nt h ec l i e n t s e r v e rc o n s t r u c t i o n d a t a b a s en e e dt ob ei n t e g r a t e dw i t hs e r v e rc o m m u n i c a t i o nc o m p o n e n t i no r d e rt o c o n n e c tt oc l i e n t s q ls e r v e ra l s oc o n s i s to f m a n y t o o l so f p c d a t 曲a s e t h e yc a ns t o r e s e a r c hd a t at h r o u 【g hs q l l a n g u a g e ,w h i l et h e s et o o l sc a nn o tb eu s e dw h e nt h e ya r e t h ec o m p o n e n to f m i n io rm a i n f r a m e i nt h el a t t e rp a r to f t h i sl e c t u r e ,a l lt h e s ef u n c t i o n sa l ee m b o d i e d t h r o u 曲ab i gs a l e s m a n a g e m e n ts y s t e mw h i c hi sd e v e l o p e db yv ba n ds q ls e r v e r t h ef u t u r eo fv bi s a l s od i s c u s s e d k e y w o r d s :v b ,s q ls e r v e r ,0 d b c ,a d 0 ,r d 0 ,s a m ,c l i e n t s e r v e rm o d e l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫壅盘茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文作者签名: 扁渺签字蹴妒y 年多月7 一日 学位论文版权使用授权书 本学位论文作者完全了解叁鲞盘生有关保留、使用学位论文的规定。 特授权岙壅盘茔可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名j 如扒 签字日期:矿7 年夕月,日 导师签名: 签字日期:年月日 第一章穰述 第一章概述 近来人翻对数据笼理麓力巍速度豹要求正在不薮夔翥,弱数攘淳 管理大量数据的方式也越来越得到青睐,厂商也为迎合这种需求丌发出 各耱软释产品,强前魄较著名帮实用静有:o r a c l e 、s y b a s e 、s o ls e r v e r 、 a c c e s s 、i n g r e s 等关系型数据库管理系统。丽这些系统都是建立在客 户- n 务器应用模型上的,所谓客户一服务器模型指应用程序的代码和资 源被明确划分为宓户端和服务器端。客户端只运章亍用户界嚣秘部分摹务 逻辑,而服务器端提供其余事务逻辑处理和数据存取的功能。在这种客 户一鼹务器模型中选择哪秘数攒痒管理系统及菸逶用靛编疆工具葶+ 缝快 速有效地进行数据录入,处理和传送一直是豳扰人们的一大问题。本文 将簸藏藏惩结合安翻震开分辑与讨论。 , 谵访运数据库皴术的发展鸶景 m i c r o s o f tv i s u a lb a s i c 作为目前较黹遍的一种编程工具,是从原有b a s i c 语言的基础上发展起来的。综观过去的几年,使用v 8 的客户曾设计出数不胜数 的程序和缎传来解决不弱瓣数据游阕方察。大约黜以上的应嬲程序是月来 访问以下这些数据的:a s c i i 文本文件黜数据库以及大型机数据库。早期的 v i s a a l i n s i c 数据访润工其只是篾擎豹嬲i 文俘戆谤润工爨,极少数s 链s e r v e r 的前端应用程序是使用鲜为人知的数据接口慑龇编写的。然而,在v i s u a l b a s i c3 0 时代许多用户疆谲需转移访翊包含远程数据源豹磷数据,为藏 m i c r o s o f t 设计t m i c r o s o f tj e td a t a b a s ee n g i n e ( 或简称为i e t ) 和d a t a a c c e s so b j e c t ( d a o ) ,使得v i s u a lb a s i ca c c e s s 开发人员报容翁追丽j e t 接 口。直至1 9 9 9 年,对v i s u a lb a s i c 和其使用者的镶求又奴含了嚣快的访闻远 程数据和对b c 数据源访闷的优化。 当选簿在魏讨论熬哪秘接拳怒最佳技术噫霰要注懑两点:钱弱懿重翔 和数据库的被访问能力。设计者常常为实现或追求一种很少用到的特别性能 而采用有鬻多控件的特殊方案,这样设计出来的应磊程穿只会镫支持复杂亿 或缎护起来更困难。系统的开发及其管理人员需要注意避免这种情况。v b 5 也觎含了全新的查询连接生成器,即u s e rc o n n e c t i o n 设计器,它使髑 第一章概述 v i s u a lb a s i c 薪秘a c t i v e x 设诗嚣诲系结褥,粒数摇诱翔鼹拱浚计上敲支 持。它允许在设计时创斑连接并凌询对蒙,弗把这些连接和焱询对象当作工 程缀对象。这不仅为连接和查询事件提供了简荤的方法,而盥也为在运行时 调蹋已霄襻髅过程窝鼹户鑫定义斡查询辩挝供了篾单黪方法。继蘑u s e r c o n n e c t i o n 设计嚣这耪技术,代码可减少l o 镑,佳能帮没有茌秘损失。 蠲v b 5 米建服务器端缀件或前端应用程侉,可以使用的数据辫接口方案至 少有九种。每一种方案都w 满足用户特定的霈簧,比如特殊的数据源謦瓣用户 秀发瓣不麓菠能等。 。2 为什么翔硼嚣发数据瘁 m i c r o s o f t 盼v i s u a lb a s i c 怒在原卷b a s i c 语言的蘩础上的进一步开发 的。3 0 版以后的v i s u a lb a s i c 具有数据摩连接和数据处理的功能,因此 完全密瓷格终为数据瘁建爝程穿游开发环境。m i c r o s o f t 还撼许多毅鲮数搂 访阉功能黝到v i s u mb a s i c 中,饺该产菇成为集面数据痒市场中a c c e s s 、 f o x p r o 及p a r a d o xf o rw i n d o w s 煞直接竞争嚣。 + 2 , v 8 的特点 与磐遴瓣鼗摇疼系绞耀魄,鞠v i s u a lb a s i c 箨受鼗懿瘁秀发平台孝鞋下 穗点: ( 1 ) 简旗。v i s u a lb a s i c 掇供了数据控件,制用该控件,用户烈嚣编写少量的 代褐旗至不编写任何代粥就可以访问数据律,对数据库进行测爨。另外嚣可视 纯豹掰户器露设诗礁能,撼程序受扶繁璞复杂滟嚣垂设计中瓣膜了出寒。 ( 2 ) 嚣活。v i s u a lb a s i c 不像一毅熬数据蓐( 翔a c c e s s ) 臻榉菇蔽予特定静凌蠲 疆垮缝梅,凌不嚣舞羯豢髓糖令对鲞蔻蠡开髂皴攒薄进行搡终,爨露毙较瑟活。 ( 3 ) 可扩充。v i s u a lb a s i c 是一种可以扩充的语畜,其中觎括衽数据库应用方 瑟翁扩态。在v i s u a lb a s i c 中,孬戳佼角a c t i v e x 控箨娃赫敝零中豫蠢v b x 或o l e 控鼹) ,这壁控僚霹淤壹m i c r o s o f t 公霹撬嫫,毽霹戳凌第三方开爱者 提供。有了这些控静,可疆狠容弱逾在v i s u a lb a s i c 串耀期新动能,扩充 v i s u a lb a s i c 数攒存取控制的指令系统。柱其它数据库开发平台中,匿前还 不其备a c t i v e x 控件。 第一章概述 1 2 2 鞠v i s l l a b a s i c 作为客户端 客户潦是一个计算稳褒焉程垮,爱该程序斟洪选耩数攥瘴中酌鼗攘项, 并把所选择的数据项按用户的要求显示出来。数据库系统本身徽称为厢端 ( 激务器壤) ,嚣藕数耀毒邋镪是一个关系袭翡集会。之赝皴选择v i s u a lb a s i c 作为开发数据库客户端应用程序的工具,主要是因为v i s u a lb a s i c 可以和 多释黢据瘁连接。巍羲是说,霹蓊较为流行翡大多数数据窿都可黻与v i s u a i b a s i c 连接,因而可以用v i s u a lb a s i c 开发相威的前端废用程序。 v i s u a lb a s i c 主要通过三种方式与备种数据库迸行涟接,即a c c e s s 数 据瘁g l 擎、m i c r o s o f t o d b c 驱动糕痔、第三三方o d b c 驱动程序。 ( 1 ) a c c e s s 数据库引擎 a c c e s s 是v i s u a lb a s i c 煞“内嫠数掭疼”,簿在v i s u a lb a s i c 中酉鞋 直接建立a c c e s s 数据库。同时,通过a c c e s s 数据库引攀,还可以使用下列 数豢库: b t r i e v e ( d a t ) d b a s e ( 。d b f n d x ) f o x p r o ( d b f 。c d x ,n d x ) p a r a d o x ( d b ,p x ) 谨 m i c r o s o f to d b c 通过m i c r o s o f to d b c 驱动程序,可以使用下列数据库: m i c r o s o f ts q ls e r v e r o r a c l e s y b a s es q ls e r v e r e x c e l ( x l s ) t e x t ( + t x t ) a c c e s s ( 。m d b ) b t r i e v e d b a s e f o x p r o p a r a d o x 第一章糕述 主灏爨曩酶鼗掇薅中,豫翡三静羚,其衾数攥蓐篱篷含农鬻m i c r o s o f t o d b c 桌面数据库驱动程序及m i c r o s o f tq u e r y 巾。 ( 3 ) 第三方o d b c 邋避第三方o d b c 骥渤稷浮,v i s u a lb a s i c 霹懿囊下列数瓣廉连接: d i g i t a lr d b g u p t as q lb a s e h pa l 】b a s e s o l h pi m a g e s q 。 i b md b 2 ,d b 2 2 i b mo s 2d b m l b ms q l d s i n f o r m i x i n g r e s n c rt e r a d a t a n e t w a r es 瑶l p r o g r e s s t a n d e mn o n s t o ps o l w a t c o ms q l x d b 在上瓣豚剜的数掭库巾,除d i g i t a l 公霹的r d b 提供龅o d b c 驱动稷廖及 w a t c o ms q l 驱动穗廖之癸,冀余驱动程序都愚q + es o f t w a r e 黪产骚。趣含 农v i s u a lb a s i c 专娩舨懿套延黢孛懿m i c r o s o f to d b ca d m i n s t r a t o r 霹疆 与m i c r o s o f ts o ls e r v e r ,s y b a s es e r v e r 虢获o r a c l e 客户服务嚣关系数 攒霖管獠糕统连接;通过m i c r o s o f to d b c 索甏熬裾痒瓤鹚程黟,蔟至可溢 蒙馊用数獭库表一样使用文本文件和e x c e l 工作寝。 1 。3 关千s q ls e r v e r 麓i e r o s 。f ts q ls e r v e r 莛一释关繁数掇簿喾理系缝,关豢骥整楚姿蓑 最受欢迎的数据存储羽数攒梭索模型。i 研且作为客户虮服务器槎架的厥端 第一章概述 s o ls e r v e r 就必须要有邋当的机制才能解决上千个计算机同时访问时产生的 问题,使每个计算机系统都能独立地处理来自于服务器数据库的各种数据。 1 3 1s o ls e r v e r 的优点 s q ls e r v e r 在数攒蓐领装最重要戆鼷受秘翅豢毽摇戳下凡方嚣: ( 1 ) 第一个能够缩放以遮应从便携式移动计算到企业级应用豹器种规模豹数 据库。尽管应用环境差别悬殊,但是s o ls e r v e r 使用的是同一个代码库, 因此从根本上保证了不同应用环境的数据艨之间1 0 0 的兼容性 ( 2 ) 第一个支持鸯配嚣髑鑫调整夔数据瘴 3 ) 第一个和o l a p ( o n li n ea n a l y z ep r o c e s s ,联祝分析处瑷) 鞭务器集成鹣 数据库 ( 4 ) 第一个与d t s ( d a t at r a n s f e rs e r v i c e ,数据传送服务) 继承的数据库 ( 5 ) 熬一个提供多服务器管理以适应大量服务器应用的数据摩 ( 8 ) 到嚣兹为止最广滋戆支持复裁任意类黧戆数据疼 ( 7 ) 与目前世界上装机爨最大的服务器操作系统一- w i n d o w sn t 和 m i c r o s o f tb a c ko f f i c e 服务器家族的最佳集成 ( 8 ) 聚用m i c r o s o f t 的龛局数据存取( u n i v e r s a ld a t aa c c e s s ) 策略实现了 露大爨穰患姿源豹裹魏缝存取 1 3 2s o ls e r v e r 中譬为服务器端的结构 作为一个复杂、庞大而又功能完备的数据库系统,s o ls e r v e r 实际上 是不闻组件的结合。从总体上说,它可以分为以下几部分: 3 。2 , s 舀ls e r 铥r s q ls e r v e r 是数据库管理系统的核心数据库引擎,它在数据库管理系统 中的地位就像发动机在汽车中的地位一样,是最重要的部分。在w i n d o w s n t 操作系统中,s q ls e r v e r 以n t 的一种服务形式出现,名称为m ss o ls e r v e r s e r v i c e 。它妖骚务一襄镄赣运嚣在w i n d o w sn t 鞭务器上,纛到羧务薅壹受 止。m ss o ls e r v e rs e r v i c e 是s q ls e r v e r 系统中难一可以巍接读取和修改 数据的组件。客户对数据库的所有服务请求,最终都会体现为一组s o l 指令, 并向掇交这些服务请求的客户返回执行结果。 第一章穰述 m ss q ls e r v e rs e r v i c e 翡功能还包括监督客户对数据库的操作,实施 企业规划和维护数据一致健等,具体体现在以下几方武; 负责存储过程和触发器的执行。 对数据加锁,实施并发饿控制,以防止多个用户同时修改同一个数 握 管理分布式数据库,保诞在不同物理地址上存放数据的一致性和完 整性 3 2 2s q ls e r v e ra g e n t s q ls e r e ra g e n t ( s o l 服务器代理) 在w i n d o w sn t 系统里以服务的形式 存在和运行,体现为s q ls e r v e ra g e n ts e r v i c e 。s q ls e r v e ra g e n t 提供 s q ls e r v e r 的调度服务,能够自动执行数据库管理员预先安排好的作业,监 视s o ls e r v e r 时间并根据事件触发警报执行事先安排好的程序。 1 3 2 3m sd t c ( 分布式攀物诱调器) 随着网络的普及,分布式数据库的应用也越来越普遍。在分布式数据 库中,逻辑上作为一个整体的数据被存储在多个服务器上。例如:一家大 鲍镶幸亍完全毒可畿将客户瓣绩震卡消费镱患和支票消费信息存姥在不阉耱 服务器上,但用户的存款账户只有一个,当用户用任何一种形式消费后,计 算梳必矮溺嚣亨露存耱在不潺辍务器上静瘩惠进行歪薪。必更爵魏锈调帮娃理 这种分布式事物,s q ls e r v e r 引进了m sd t c ( d i s t r i b u t e dt r a n s a c t i o n c o o r d i n a t o r 分蠢式事物协调器) 。m sd t c 也鞋w i n d o w sn t 服务的形式存在 和运行。m sd t c 事实上是一个事务管理器,它允许客户的应用程序在一个事 物中对分布在多个服务器上的数据源进行操作。m sd t c 邋过两端式提交的方 法来实薨分毒式事物,镑慰多个服务器懿更薮或卷全部挟章亍成功,或者全部 不执行,从而有效保证数据的一致性和完整性。 1 。3 ,24s o ls e r v e r 邮件紧统 在s q ls e r v e r 7 。0 中共采鼹了s q lm a i l 和s q la g e n tm a i l 鼹秘方法来 处理电子邮件的问题,因它们与本文介绍的内容无关,在此省略。 第二章¥8 数据库中静s q l 第三章¥8 数据瘁审的s o l 凌v b 中要想灵活缝缀佟数据疼,完成餐秘簸杂操终,裁嚣蕊掌握s q l 语 言。s q l 魑结构化查询语畜( s t r u c t u r e dq u e r yl a n g u a g e ) 的缩写,是一种 功麓齐全虢数据痒语言。s q l 谗言静爨俸缀攥蕊功琵分为;数据查逮语言 ( d q l ) 、数据操 笮语言( d m l ) 、数据定义语言( d d l ) 以及数据控制语言( d c l ) 。 2 1 数据查询语裔( d q l ) 数据焱谗受费麸表中攫取数据并把它交绘澎焉翟滓,稽式翔下; s e l e c t ( 字毅爨袭) f r o m 表格瀵肇w h e r e ( 表达式) 铡弼,要褥弱“张清滁”静魄话,可戳彼溺下蟊静凌谣: s e l e c t 电话f r o mp h o n ew h e r e 姓名= “张清源” s e l e c t 语句的第一黼分指名蒙选取的判,可以包括用逗号分开的一系列 字段戮袁。熟果簧选择袭串舱繇寄字段,珂璐鼹基号( 枣) 代替爨输入戆字 段名,魄秘: s e l e c t 木f r o mp h o n e s e l e c t 语句的第二部分指明臻从哪些寝中查询数据。在此例中,要查询 酌表蟊哭蠢一个p h o n e ,s q l 兔许蘸一个或多个表中查谗数据,袭阏爨点号 分聪。逡黎: s e l e c t 姓名,律品f r o mp h o n e ,a r t i c l ew h e r ep h o n e 。净号= a d d r e s s , 序曝 袭遮式根据黹嚣也掰以使用程序设计诱富中使用的逻辑遣辣符n o t 、a n d 黧o r 。 2 。2 数据搡 乍语富( d d l ) 2 2 1 插入记录( in s e r t 或ln s e r t i n t o ) 允许在表中添艴瓶记录,琵翅: i n s e r t i n t op h o n e ( 姓煮,毫溪,遮薤v a l u e s ( 张三 + 。3 4 3 3 5 1 47 ,+ 福建稻弼7 ) 强第一个括号中指怒个或多个要拨撼入数据的字段名称,在第二个括 号中给出辩应的实际值,用逗号隔开多个字段名。这个语句抛三个字符串 辫二章毽数豢摩中豹s 0 1 “张三”、“3 4 3 3 5 1 4 ”、“搐建辐鞭”分裂矮入表p h o n e 魏娥名、惫话黧 地蛾字段中,形成个新的记录。 如聚在露i n s e r t 添加一祭新记录姆,鸯个或多个掌段没鸯掇烘字段 黧融,系绕一簸会疆入一个靛蛰穰或一个空蕊: s e l e c t 牢i n t op h o n e 2f r o mp h o n e 可以豁逡撂逮获一个交礴鬓一个表疆入多条记录,主镶裘示恕p h o n e 表 中的所有融录都插入p h o n e 2 中。 2 。2 2 测除记录( d e l e r e ) 飙滚孛鼷酴一个或多夺诞慕。簸麟鞭w h e r e 子鸯,斌袋逡择要裂豫 的溆录。 铡如,下面酌这个d e l e t e 谬甸凳测滁姓名字段静餐洚“张三”的记录: d e l e t ep h o n ew h e r e 熬名= 张三 翔巢不给出w h e r e 予旬,袋巾的掰裔记袋赘褥被粼涂。 2 2 3 戮新记录( u p d a t e ) 修改袭中已经存在的一条或多条诚添,u p d a t e 语匈瞧斟默使愿w h e r e 孑留来选撵燹薪褥窝鞠记录: u p d a t e 表名s e t 字羧l = 毽i ,字黢2 = 僮2 , 磷h e r e 表达 式3 u p d a t ep h o n es e t 娥鬣* 搴霆w h e r e 魄诿- f3 4 3 3 2 1 5 懿鬃不提镶w h e r e 子餐,袁中懿酝骞记袋鼹蝰菝爱瑟,这猩艘援蘩改诸 懿徐格簿字段霆摄鸯臻鹣。 窆。3 数撼霞义语言( d d l ) d d l 允许创建或修改袋、列和索引,但不能创建数攒库,婴创建数据库 婺耀c r e a t e d a t a b a s e 方淡。数攒定义谌密语麓毽括: ( 1 ) 铋建鞭表 c r e a t et a b l e ) 葶h 测除淡,比始: e i e 瓣嚣t a b l ep h o n e 2 ( 娥名c h a r ( 1 s ) ,工黉i n t ) d r o pt a b l ep h o n e 2 ( 2 ) 修跛袭,帮在褒申壤鸯鞋畿剃躲列豹搽终( a l t e rt a b l e ) :比鞠, 第二章v b 数据席中的s q l a l t e rt a b l ep h o n e 2a d dc o l u m n 备注t e x t a l t e rt a b l ep h o n ed r o pc o l u m n 备注 ( 3 ) 在表中建立索引( c r e a t ei n d e x ) 和删除索引( d r o pi n d e x ) c r e a t ei n d e xn a m e i n d e xo np h o n e 2 ( 姓名) d r o pi 2 4 数据控制语言( d o l ) 数据接裁是搓遥过对数据库冬穆投隈瓣授予或回牧来管理数撵疼系绞。 这燧权限包括对基本表的修改( a l t e r ) 、插入( i n s e r t ) 、删除( d e l e t e ) 、 更耨( u p d a t e ) 、建立索零 ( i n d e x ) 、查询( s e l e c t ) 帮掰有权限( a l l ) 。 ( 1 ) 授权 命令格式:g r a n t 权限表o nt a b l e 表名t o 用户名表 w i t hg r a n t o p t i o n ;警选溺w i t h g r a n to p t i o n 缀语对,被授权豹用户有权籍褥豹较限 再授予其他用户。例:g r a n t s e l e c t ,u p d a t eo nt a b l e d wt o p u b l i c ;( 给所有厢户) ( 2 ) 收鬏 命令格式:r e v o k e 权限表o nt a b l e 表名 f r o m 用户名表; 例:r e v o k e u p d a t e o nt a b l ed w f r o ml i m i n g ,w a n g w e i ; 授予耧鏊教投菠是毒滋次静。设鬟户a 荛爨已熬投羧授予了蘑户嚣,著 允许b 再向别人授权。用户b 又将这些权限授予了用户c 。后来,用户a 回 收了用户b 豹莱些权限,孺户c 瀚这部分权限自然遣被取消了。 第三章v b 中提供的几种可访问s q ls e r v e r 的方式 第三章v b 中提供的几种可访问s o ls e r v e r 的方式 v b 中提供了多种可访问s o ls e r v e r 的方式,本文主要介绍其中最常用 的四种:d a o 、r d o 、v b s q l 、o d b ca p i 。v b s q l 模式过时了,而用o d b ca p i 又太麻烦,所以在各种方式中目前用的最多的是d a o 和r d o 。d a o 是大家所 熟悉的,它访问s q ls e r v e r 服务器同本地文件的方法类似,只是在连接时 有所不同。不过,现在使用最多的还是r d o ,因为它的效率比较高,接近o d b c a p i ,而使用又同d a o 一样简单。 从下一小节开始,我就将分别介绍这四种方式的具体用法和它们的特 点。 3 1 用d a o 访问s q ls e r v e r 的方法 在v b 中,用m i c r o s o f tj e t 数据库引擎和数据访问对象d a o ( d a t aa c c e s s o b j e c t ) 可以创建功能强大的客户服务器应用程序。d a o j e t 是为了实现从 v b 访问a c c e s s 数据库而开发的程序接口( 对象) 。d a o 的方法具有功能强大、 灵活的特点。它能够在程序中存取o d b c 2 0 的管理函数;可以控制多种记录 集类型:d y n a s e t ,s n a p s h o t 及t a b l e 记录集合对象;可以存储过程和查询 动作;可以存取数据库集合对象,例如t a b l e d e f s ,f i e l d s ,i n d e x e s 及 q u e r y d e f s :具有真正的事物处理能力。因而,这种方法对数据库处理的大 多数情况都非常适用。对远程数据库的访问是开发这类应用程序的关键环 节,用d a o 访问远程数据库大体上可以通过三步来实现,即数据连接、数据 处理和断开连接。下面主要介绍数据连接和数据处理的具体操作。 3 1 1 数据连接 d a o 一般通过链接远程表的方式来进行数据连接。这样,数据虽然驻留 在远程数据源上,但在本地的m i c r o s o f t j e t 数据库中可以存储与远程数据 的永久性连接,同时缓存链接的表结构信息,从而在下一次访问该表时,不 用再次从服务器中检索这些结构信息,加快了连接速度。一旦链接了一个表, 该链接便会保留在各会话期间,直到连接断开。链接远程表的具体操作是: ( 1 ) 用o p e n d a t a b a s e 方法打开将要包含该链接的本地m i c r o s o f tj e t 数据 第三章v b 中提供的凡种可访闷s q ls e r v e r 的方式 露 ( 2 ) 咸c r e a t e t a b t e d e f 方法在该数据库中创建一个新的t a b l e d e f 对蒙将 t a b l e d e f 对象的c o n n e c t 属性设鬣为一个合法的连接字符串,标识要访问的 远耧数据黪类型、数据文释匏黠疑鞋及惩户名彝诞程数据源蜜硝等。 ( 3 ) 将t a b l e d e f 对象的s o u r c e t a b l e n a m e 属性设置为近程数据库中要访问 煞袭靛塞豁添热t a b l e d e f 对象戮t a b l e d e f s 集会牵,实现涟接遮程表搽俘 的过程如下: p u b l i cs u bii n k t a b l e ( s t r d ba ss t r i n g ,s t r r o d ba ss t r i n g ,s t r c na s s t r i n g ,s t r t d fa s s t r i n g ,一l i n k t d f n a m e a ss t r i n g ) d i mi i n k t d fa sf l e wt a b i e d e f s e td b s = o p e n d a t a b a s e ( s t r d b ) l i n k t d f n a m e = u i n k t d f n a m e l 0 0 t e m p t a b l e = h e a s e ( 1 i n k t d f 。氍黼e ) f o ri = 0t od b s t a b l e d e f s c o u n t 1 i fu c a s e ( d b s 。t a b t e d e f s ( i ) 。n a n e ) = t e m p t a b l et h e n i fm s g b o x ( 1 i n k t d f n a m e + ”已存在, 是否删除? ”,一 v b q u e s ti o n + v b y e s n o ) 。v b y e st h e n d b s 。t a b l e d e f s 。d e l e t el i n k t d f n a m e e x i tf o r e l s e :m s g b o x “整囊输入巍表名” 1 i n k t d f n a m e = i n p u t b o x c 新袭名”) g o t o 1 0 0 e n di f e n di f n e x ti s e t1 i n k t d f = d b s c r e a t e t a b l o d e f l i n k t d f n a m e ) 链按远程表 l i n k t d f 。c o n n e c t = ”:d a t a b a s e = ”十s t r c n l i n k t d f s o u r c e t a b l e n a m e = s t r t d f d b s ,t a b l e d e f s 。a p p e n dl i n k t d f e n ds u b 第三拳强中鬟供缝咒静霹访阔s q ls e r v e r 静方式 上述过程臻来实凌遮稷裘耱连接,它寿5 令参数,箕孛s t r r o d b 是要访 问的远程数据库名( 包括路径) ;s t r t d f 建该数据库中的液名:s t r d b 是要 镶接的本地数据库( 包括路径) :1 i n k t d f n a m e 燎本地数据席的个糯表名, 麓来建交远程表静镳竣;s t r c n 是指定滚攘痿惑静字符宰。霈要褥嗣注意静 楚,除了在访阀远程m i c r o s o f tj e t 数据露对,连接字符宰蘩以分号( ;) v 开头外,攒定连接信惠的字褥串都盛颡戳耨访阏的远程数据蓐类黧开头。o h o 可以访问的远程数据源有以下三类: ( 1 m i c r o s o f tj e t 数掘源,热:g c c e s s 数撰。 ( 2 ) i i s a m ( 可安装的索弓l 化顺序访问方法) 格式数据源,如:f o x p r o 、p a r a d o x 、 d b a s e 数攒。 ( 3 ) o d b c 数据源,如;s q l s e r v e r 数据、o r a c l e 数据。 例如:设网络服务器名为s e r v e r ,共享翻渌为e :s a l e s 的f o x p r 0 3 0 数攥簿,逶接字符窜疲为 s t r c n = ”f o x p r 0 3 0 ;d a t a b a s e = s e r v e r e $ s 拄l e s r e g i o n 羔” 此外,d a o 通过m i c r o s o f tj e t 数据痒弓i 攀访问远程数嚣辩,还可驭鬻 o p e n d a t a b a s e 方法爨接打开远程表。在本地数据库中并未存储与逝程数据源 建立逡搂掰嚣要豹臻患。魏袋镬雳链接方式游润数撰,粼不爨在每次会话舞 始时提供连接信息,从而可以提高效率。 3 1 2 数据处理 数攒连接建立聪,可以蹋o p e n r e c o r d s e t 方法打开一个记录襞,著可用 d b g r i d 控件和d a t a 控件方便地测览整个记袋袋。如果使弼表类裂 ( t a b l e t y p e ) 记荣对象,嬲对应鲍怒个实舔存在的数攒瘁表,在多建户 环境下,其它用户对数据的修改会立即反映捌淡中;如栗使用动杰集类型 ( d y n a s e t t y p e ) 记录对象,则对应的既可以怒一个表中企部记添,又可以 楚一个套诲静结栗,并篮冒璇雯薪记聚集中黪诡录;魏栗使矮抉繇类型 ( s n a p s h o t t y p e ) 记录对象,则对成的可以怒表中的全部记最* 媳可以是 一令查璃绉采,毽不麓进行记录黥增麓、潮豫秘修改搡 睾。魏鳋,还霹鼓建 立其它类型的记录对氖,如仅向前型( f o r w a r do n l y t y p e ) 记淤对象和动 态型( d y n a m i c t y p e ) 记袋黠象。 第三章v b 中提供的几种可访问s q ls e r v e r 的方式 下瑟是努器动态集记录霹蒙莠嚣示记录静过程: p u b l i cs u br s t d i s p l a y ( s t r d ba ss t r i n g ,s t r r s ta ss t r i n g ,s t r f o r ma s f o r m ) s e td b s = o p e n d a t a b a s e ( s t r d b ) s e tr s t 嚣d b s 。o p e n r e e o r d s e t ( s t r r s t , d b o p e n d y n a s e t ) s t r f o r m ! d a t a l d a t a b a s e n a m e 。d b s n a m e s t r f o r m ! d a t a l r e c o r d s o u r c e = r s t n a m e s t r f o r m ! d a t a l r e f r e s h s t r f o r m ! d b g r i d l r e b i n d e n ds u b 上述过程有三个参数,疑中s t r d b 用来指定本地数据库名( 龟括路径) , l i n k t d f n a m e 是本地数据库中新建的链接远程袈的表名,s t r f o r m 怒网格控 件和数据控件所在的窗体名。调用此过程可以熬于新表建立一个动淼集类型 豹记录对象,蒡可在璃捂中溅熬各个记录。 鼗舞涟接可以通过关闭斑用程序或设置连接越时来实现。注意;如果对 数据库对苏使用c l o s e 方法,则由于在m i s c r o s o f tj e t 数据库引攀内部缓 存了连接,实际上连接并未取消。 3 2 霜o d b c a p l 访闯s q ls e r v e r o p e nd a t a b a s ec o n n e c t i v i t y ( 开放数据库曩连) 简称o d b c ,已经成为客 户服务器模式数据库应用系统中访问远程数据库的一个标准。做为强大的 前端开发工具,m i c r o s o f t v i s u a l b a s i c 为开发糟提供了多种访问o d b c 数据 添数途缀,懿j e t 数据痒雩l 繁、o d b c a p i 丞数、r d o 接口等。比较露言,妻 接使j 霹lo d b c a p i 函数的编稷难发最大,僵由此获得的存取数据库的性能也是 最佳的。臌然v b 4 0 企业版提供的r d o 接口的性能已经接近o d b c a p i ,但遗 憾的是这个接口只能在3 2 能w i n d o w s 环境中运行,而o d b c a p i 函数则没有 这个限制。 3 2 1o d b c a p l 函数的声明方法 第三章v 8 中提供的几种可访问s q ls e r v e r 的方式 与使弼其它动态库函数一样,在v 8 中使用o d b c a p i 函数之前,必须事 先声明将要使用的函数、常量和数据结构。o d b c a p i 函数驻留在o d b c 运行动 态庠o d b c d l l ( 1 6 位) 或o d b c 3 2 d l l ( 3 2 位) 中,该动态库使于w i n f j o w s 子强录s y s t e m 中。逶豢做法是褒v b 项蓬中单独锼用一个模块文传,然爱犍 o d b c a p i 声明语句加入其中,如下所示,就是本文实例中使用的模块文件 m o d u l e l 。b a s 弱内容: d e c l a r ef u n c t i o ns q l a i l o c e n vl i b ”o d b c 3 2 d 1 1 ”( p h e n v & ) a si n t e g e r d e c l a r ef u n c t i o ns q l a i l o c c o n n e c tl i b ”o d b c 3 2 。d 1 1 8 ( b y v a lh e n v & , p h d b c & ) a si n t e g e d e c l

温馨提示

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

评论

0/150

提交评论