2QP,UV’"!!""#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&!!文章编号!(""B@C访问,D>,/-E/-数据库的几种方案朱翠苗!郑广成!江苏连云港职业技术学院信息工程学院"江苏连" />
河!北!科!技!大!学!学!报
第!%卷!!第&期L2M7*8>2.N O C O6M*6@O7,65P2.@19K!%!*1K&总第’"期!!""#年,?6O*?O8*A5O?N*2>2Q P,U V’"!
!""# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& !!文章编号!(""B<(%#!"!""##"&<""))<"#
@C访问,D>,/-E/-数据库的几种方案
朱翠苗!郑广成
!江苏连云港职业技术学院信息工程学院"江苏连云港!!!!"")#摘!要!作为信息时代重要的编程工具"@=[U Z9C Z[=‘)K"具有编程能力卓越$应用领域广的优势"
其技术已发展近乎成熟%@C)K"访问数据库有着不同的方案"尤其是@C与,D>,/-E/-!"""的
整合"在管理信息系统开发过程中可以实现意想不到的功能%@C)K"访问,D>,/-E/-!"""数据
库给出了#种方案"对相应的方案进行了详细的阐述"并给出相应的代码说明%
关键词!A82&L/S’846’8A2’对象’@C,D>’方案’2>OA C
中图分类号!54&((T(&B!!!文献标识码!8
在信息技术领域$一提到程序设计$不少人首先想到的是@=[U Z9C Z[=‘)K"$它在程序开发方面$在各领域都有独领风骚的地位$它的编程能力之强$应用领域之广令人惊叹%但是所有的信息系统都离不开数据库管理系统$@C要想显示出自身强大功能也必须与相应的数据库管理工具进行整合开发&,D>,/-E/-!"""作为数据库管理工具的佼佼者$其强大的数据库管理能力和@=[U Z9C Z[=‘)K"的程序开发能力整合在一起进行管理信息系统开发$会取得意想不到的功效$并解决了单一工具不能解决的问题&用@=[U Z9C Z[=‘访问,D>,/-E/-!"""数据库的方案有#种!(#A82’L/S%!#为2A C?846编程%使用,D>,/-E/-的@=[U Z9 C Z[=‘库"@C,D>#为A C库846编程%##使用8A2对象"@C)K"与,D>,/-E/-!"""数据库的无(数据源)连接#&下面对不同方案作具体探讨&
"!P(F"Q0+
在@C中$用0=‘-1[1X S L/S数据库引擎和数据访问对象A82"A Z S Z8‘‘/[[2+b/‘S#可以创建访问远程数据库功能强大的客户’服务器应用程序&
A82的方法虽然不是性能最好的管理客户机<服务器之间的对话方式$但它确有许多优点&使用A82访问,D>,/-E/-的过程如下!准备好应用程序语句并送至L/S$L/S引擎"08,L5!""K A>>#优化查询$载入驱动程序管理器并与之通讯$驱动程序管理器"2A C?K A>>#通过调动驱动器",D>,7@7K A>>#的函数$实现连接到数据源$翻译并向,D>,/-E/-提交,D>语句且返回结果&用A82访问,D>,/-E/-的@C代码说明如下*(+&
.1-V A/‘9Z-Z S=1;[
A=V V]W+8[A Z S Z+Z[/
A=V V]W];Z[/S8[A];Z[/S
4-=E Z S/,U+.1-V_>1Z W"#
,/SV]W+d2R/;A Z S/+Z[/"p p$.Z9[/$.Z9[/$p2A C?%A,*d0][/-E/-%F,6Ad H_‘%
A858C8,O d[S U p#
,/SV]W];Z[/S dV]W+K?-/Z S/A];Z[/S"p,/9/‘S%X1-V[S U W/;S p#
收稿日期!!""&<"B
!!O
;W,U +上述例子是以非独占!非只读方式打开[S U 数据库"并检索[S U W /;S 表中的所有字段#
%!用F P R $(S 7编程
2A C ?$2R /;A Z S Z C Z [/?1;;/‘S =E =S ]
%的思想是访问异种数据库的一种可移植的方式#与数据库资源对话的公用函数组装在(个称为驱动程序管理器$2A C ?K A >>%
的动态连接中#应用程序调用驱动程序管理器中的函数"而驱动程序管理器反过来通过驱动器$,D >,7@7K A >>%
把它们送到服务器中#在@C 中调用2A C ?846函数访问2A C ?数据库"
代码说明如下&Q 91+Z 9_=N O ;E8[>1;_
!!!’2A C ?环境句柄Q 91+Z 9_=N A C8[>1;_
’2A C ?环境全局变量Q 91+Z 9_=N ,S V S8[>1;_
’2A C ?环境全局变量A =V V ]7/[U 9S8[=;S /_/-’存放记录集执行结果变量
A =V V ]?1;;/‘S =1;8[,S -=;_’
存放连接属性的参数变量A =V 7[,D >8[,S -=;_
’定义存放,D >记录集的变量A =V V ]C U X X8[,S -=;_%!%)’结果集参数变量
A =V V ]C U X X 9/;8[6;S /_
/-’用于连接的参数变量6X ,D >8991‘O ;E $_
=N O ;E %’1,D >_,M ??O ,,S I /;!’判断获取2A C ?环境句柄是否有效0[_C 1\q 8991‘Z S =1;‘1U 9W ;a S I Z R R
/;!q O \=S [U +
O ;W =X
6X ,D >8991‘?1;;/‘S $_=N O ;E "_
=N A C %’1,D >_,M ??O ,,5I /;0[_
C 1\p ,
D >,/-
E /-‘1U 9W ;a S ‘1;;/‘S !p !!!’获取连接句柄失败O \=S [U +
O ;W =X
0]?1;;/‘S =1;d p A ,*dV ],/-E /-(M 6Ad H ‘V (4FAd (844d2A C ?5/[S (F ,6Ad H _
‘(A 858C 8?,O d [Z 9/[p !!!!!’
定义连接数据库的连接属性0]7/[U 9S d,D >A -=E /-?1;;/‘S $_
=N A C "5/[S "X 1-V 9K I F ;W "V ]?1;;/‘S =1;K 9/;$V ]?1;;/‘S =1;%"0] C U X X 9/;", D >_A 76@O 7_?204>O 5O _7O D M 6O A %!)建立连接0]7/[U 9S d ,D >8991‘,S V S $_=N A C "_ =N ,S V S %’调用,D >8991‘,S V S 函数获取语句句柄0]7/[U 9S d ,D >.-//,S V S $_ =N ,S V S ",D >_?2>,O %!’调用,D >8991‘,S V S 函数获取语句句柄7[,D >d p ,/9/‘S %X -1V[S U W /;SF I /-/?=S ]d p 9]_ p p !’定义,D >记录集0]7/[U 9S d ,D >O \/‘A =-/‘S $_ =N ,S V S "-[,D >K >/;$-[,D >%%!’执行,D >语句注&上面的代码使用函数先登录到一个服务器数据库"并为随后的工作设置了语句句柄# ’!使用T R H U V 对P R 库(S 7编程,D >,/-E /-的@=[U Z 9C Z [=‘库$@C ,D >%为@=[U Z 9C Z [=‘程序员提供846 $应用程序接口%#从一定意义上说"@C ,D >是连接@=[U Z 9C Z [=‘程序到,D >,/-E /-中性能最好最直接的方式#一般A C 库中846编程 的过程是先通过调用,G 96;=S 对A C 库进行初始化"再调用,G 92R /;?1;;/‘S =1;打开一个连接"然后就可以进行相应操作#下面的代码是一个初始化A C 库并登录到服务器中的通用例程*!+# 4-=E Z S /,U +6;=S =Z 9=H /8R R 9=‘Z S =1;$%A C >6C _@O 7,62*d ,G 96;=S $%!!!’调用,G 96;=S 在客户机上装载A C 库6XA C >6C _@O 7,62*d qq 5I /;!!’判断能否成功调用,G 96;=S $%或,G 96;=S $%是否存在0[_C 1\p ?1U 9W;1S =;=S =Z 9=H /A C >6C !O \=S Z R R 9=‘Z S =1;K p !’给出错误提示"退出O \=S [U + ’ )!第&期!!!!!!!!!!!朱翠苗等!@C 访问,D >,/-E /-数据库的几种方案 O ;W =X O ;W,U + 4-=E Z S /.U ;‘S =1;>1_=;51,/-E /-!"8[=;S /_ /->1_ =;51,/-E /-d ,M ??O O A ,S Z S U [kd ,G 9,/S 91_=;5=V /k !91_ =;5=V /2U S "!#设置超时连接时间6X _=,G 9‘1;;’1"5I /;,G 9?91[/!_=,G 9‘1;;"!#关闭已经打开的连接_=,G 9‘1;;d _=,G 92R /;?1;;‘/S =1;!_[,/-E /-*Z V /K _[>1_=;6AK _ [4Z [[F 1-W K 4-1_-Z V *Z V /K 4-1_ -Z V *Z V /"!!#建立新的数据库连接$返回句柄6X _=,G 9?1;;’1"5I /;9=-/[U 9S d ,G 9M [/!_=,G 9?1;;$p ,Z 9/[p "!#打开相应的表O 9[/ >1_ =;51,/-E /-d.86>O ;W 6X O ;W 6X O ;W.U ;‘S =1; 5!使用(P F 对象 8A 2是微软的数据库访问技术$又称无%数据源&连接$8A 2是基于2>OA C 之上的技术$ 它通过内部的属性和方法提供统一的数据库访问接口’&()8A 2的连接方式主要可分为2>OA C4-1E =W /-方式与2>O A C4-1E =W /-X 1-2A C ?方式)2>O A C4-1E =W /-X 1-2A C ?是8A 2的默认提供者$2A C ?4-1E =W /-允许 8A 2连接到任何2A C ?数据源*2A C ?驱动程序对于当今使用的各种A C 0,都有效$包括,D >,/-E /- $8‘‘/[[$.1\4-1$以及诸如2-Z ‘9/等非微软数据库产品)8A 2对象实现与,D >,/-E /-!"""数据库的无%数据源& 连接的代码说明方法如下)5K "!连接对象属性 ?1;;/‘S =1;,S -=;_是?1;;/‘S =1;对象的属性名称$也可读写为,S -=;_类型$ 提供数据提供者或服务提供者打开到数据源的连接所需要的特定信息$主要包括如下属性+ ("4-1E =W /-!指定2 >OA C 数据或服务提供者的名称$可以缺省)!"A -=E /-!表示2 A C ?驱动程序的名称$不是2A C ?驱动程序动态链接库!A >>"的文件名)&",/-E /-!,7@7"!数据库服务名称) #"A Z S Z +Z [/!A C "!指定服务器上的数据库名称) %"A ,*!A Z S Z,1U S -‘/*Z V /"!在此为空$ 无须指定连接的2A C ?数据源的名称))"M 6A !M [/-6A "!为2 A C ?数据源指定用户标识!用户账号名")’"4FA !4Z [[Y 1-W "!为2 A C ?数据源指定用户口令$必须有足够的权限)注+以上属性用字符串表达式表示) B "4/-[=[S ,/‘U -=S ] 6;X 1!布尔类型$为5-U /时$表明采用集成安全机制*若为.Z 9[/$则表明不采用集成安全机制) 5K %!程序举例 @C)K "与,D >,/-E /-!"""数据库的无% 数据源&连接$实例程序如下’#(+4U +9=‘‘;W +Z [/8[*/Y 8A 2A C K ?1;;/‘S =1;!# 自定义连接数据库函数4U +9=‘.U ;‘S =1;?1;;/‘S A +Z [/!,S -?1;;/‘S8[,S -=;_ "8[C 119/Z ;2;O --1-Q 151O --N Z ;W 9/ ?;W +Z [/K ?1;;/‘S =1;,S -=;_ d ,S -?1;;/‘S B )河北科技大学学报!!!!!!!!!!!!!!!!!""#年! ?;W +Z [/K ?U -[1->1‘Z S =1;d Z W M [/?9=/;S ?1;;/‘S A +Z [/d5-U / O \=S.U ;‘S =1; O --N Z ;W 9/ !?1;;/‘S A +Z [/d.Z 9[/ O ;W.U ;‘S =1; 4-=E Z S /,U +.1-V _ >1Z W "#输入@Z -,/-E /-!!!$ 服务名称输入@Z -A +Z [/ $数据库名称输入@Z -M [/- $用户名称输入@Z -4Z [[Y 1-W $用户口令 $连接数据库%采取无A ,*连接方法 ,S -?1;;/‘S d p 4-1E =W /-d 0,A 8,D >&p g p A -=E /-d ’p c@Z -A -=E /-c p (&p g p ,7@7d p c@Z -,/-E /-c p &gp A C d p c@Z -A +Z [/c p &p g p A ,*d &p g p M 6Ad p c@Z -M [/-c p &p g p 4FAd p c@Z -4Z [[Y 1-W c p &p g p 4/-< [=[S ,/‘U -=S ]6 ;X 1d.Z 9[/p !$不采用集成安全机制6X?1;;/‘S A +Z [/",S -?1;;/‘S #5I /; O \=S ,U + O 9[/ 0]/\=S d0[_C 1\"p 数据库连接失败!请检查连接设置信息)p E +232;9] K p 错误提示!p #M ;91Z WV / O ;W =X O ;W,U + 上面介绍的方案是当前比较实用和值得研究的%A 82[方法是基于对象的% 因而便于使用%但它是从@=[U Z 9C Z [=‘到,D >,/-E /-的最慢的连接方式)2A C ?846和@C ,D >方法从本质上讲是基于程序的) 2A C ?846方法通用性好%编程简单%具有较强的互操作性%但速度慢于@C ,D >方法)@C ,D >方法是通过 @C ,D >控件实现的%它具有真正的事件驱动及错误处理能力%完全支持异步处理*游标等%这些都是@C ,< D >方法超出其他方法的优势%但其编程稍复杂)8A 2访问方式集A 82%A Z S Z %846等对象的优点% 是功能最广泛和最有发展前景的技术)除以上#种方案%还可以通过A Z S /%7A 2等对象访问,D >,/-E /- %但它们都可以用8A 2代替% 不再对其描述)参考文献! +(,!编程高手工作室T @ =[U Z 9C Z [=‘编程高手+0,T 北京!北京希望电子出版社%!""(K +!,!刘!韬T @ =[U Z 9C Z [=‘)K "数据库系统开发实例导航+0,T 北京!人民邮电出版社%!""&K +&,!齐!峰T @ =[U Z 9C Z [=‘)K i 程序设计+0,T 北京!中国铁道出版社%!""!K +#,!林建仁T @ =[U Z 9C Z [=‘)K i 程序设计+0,T 北京!中国铁道出版社%!""&K 5I /A Z S Z +Z [/a [./Y4-1b /‘S [1X ,D >,/-E /-1X@C6;S /-E =/Y :NM ?U = "A /R Z -S V /;S 1X 6;X 1-V Z S =1;O ;_=;//-=;_%>=Z ;]U ;_Z ;_5/‘I ;=‘Z 9?199/_/%>=Z ;]U ;_Z ;_L =Z ;_ [U!!!"")%?I =;Z #()*+,-.+!8[Z ;=V R 1-S Z ;S R -1_-Z V =;_S 119%@=[U Z 9C Z [=‘)K "R 1[[/[[/[1U S [S Z ;W =;_Z +=9=S ]X 1-R -1_-Z V =;_%Z ;W S I /Z W E Z ;S Z _ /1XY =W /-/Z 9VK 6S [S /‘I ;=G U /I Z [Z 9-/Z W ]W /E /91R R /W S 1+/‘91[/S 1+/V Z S U -/&@C )K "=;S /-E =/Y [S I /W Z S Z +Z [/S I -1U _ IW =X X /-/;S R -1b /‘S [%Z ;W R Z -S =‘U 9Z -9]%S I /=;S /_-Z S =1;1X@CZ ;W,D >,/-E /-!"""%=;S I /V Z ;Z _/V /;S =;X 1-V Z S =1;[][S /VW /E /91R V /;S %‘Z ;-/Z 9=H /U ;/\R /‘S /W X U ;‘S =1;[K N /-/%X 1U -^=;W [1X R -1b /‘S [X 1-@C )K "=;S /-E =/Y1X ,D >,/-E /-!"""W Z S Z +Z [/[Z -/_=E /;=;W /S Z =9%Y =S I‘1W //9U ‘=W Z S =1;K $ )!第&期!!!!!!!!!!!朱翠苗等!@C 访问,D >,/-E /-数据库的几种方案 VB访问SQL Server 数据库的几种方案 作者:朱翠苗, 郑广成 作者单位:江苏连云港职业技术学院信息工程学院,江苏连云港,222006 刊名: 河北科技大学学报 英文刊名:JOURNAL OF HEBEI UNIVERSITY OF SCIENCE AND TECHNOLOGY 年,卷(期):2004,25(3) 被引用次数:11次 参考文献(4条) 1.编程高手工作室Visual Basic编程高手 2001 2.刘韬Visual Basic 6.0数据库系统开发实例导航 2003 3.齐峰Visual Basic6.X程序设计 2002 4.林建仁Visual Basic6.X程序设计 2003 引证文献(11条) 1.叶成绪基于WAP手机学生成绩查询系统的实现[期刊论文]-青海师范大学学报(自然科学版) 2008(3) 2.王会鲜学生信息管理系统的研究与设计[期刊论文]-塔里木大学学报 2007(4) 3.程萍.陈静研究生培养经费管理系统设计与实现[期刊论文]-武汉理工大学学报(信息与管理工程版) 2007(1) 4.柳荫塘三层加密技术在软件开发中的应用[期刊论文]-河北工业科技 2007(2) 5.基于VB的学生信息管理系统的设计与实现[期刊论文]-河北工业科技 2006(4) 6.纺织科技文摘管理系统的开发[期刊论文]-河北工业科技 2006(4) 7.郑毅琳.王顶Singleton模式在VB中的实现和应用[期刊论文]-河北工业科技 2005(6) 8.马晓红.秦志刚织部实验室数据处理系统的开发与应用[期刊论文]-河北工业科技 2005(3) 9.陈军霞.刘权乐.陈玉增C/S和B/S相结合的安全型管理信息系统开发[期刊论文]-河北工业科技 2005(1) 10.陈坤船舶分舱仿真与交互设计研究[学位论文]硕士 2005 11.邱泽国.孙振宝.韩雪娜基于WAP技术的高校成绩查询系统的研究[期刊论文]-黑龙江科技信息 2010(32) 本文链接:https://www.doczj.com/doc/6213529874.html,/Periodical_hbkjdx200403019.aspx