当前位置: 首页 > 图文教程 > 数据库 > MSSQL > VB访问SQL Server数据库技术全揭密

MSSQL
SQLServer 批量插入数据的两种方法
SQLServer 通用的分区增加和删除的算法
数据库的一些常用知识
SQLServer 连接异常与解决方法小结
sqlserver 无法验证产品密匙的完美解决方案[测试通过]
sql2000 卸载后重新安装时不能安装的解决办法
SQLServer 快速备份的十种方法
sqlserver 中一些常看的指标和清除缓存的方法
SQL 提权 常用命令
数据转换冲突及转换过程中大对象的处理
SQLServer 数据库开发顶级技巧
远程连接SQLSERVER 2000服务器方法
SQLserver2000 企业版 出现"进程51发生了严重的异常"错误的处理方法
SQLServer 触发器 数据库进行数据备份
SQLServer 数据库备份过程中经常遇到的九种情况
SQL 截取字符串应用代码
除MSSQL数据库text字段中恶意脚本的删方法
SQLServer CONVERT 函数测试结果
SQLServer 中.与::的区别
SQL 研究 相似的数据类型

MSSQL 中的 VB访问SQL Server数据库技术全揭密


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 78 ::
收藏到网摘: n/a

摘 要

  本文讨论了Visual Basic应用程序访问SQL Server数据库的几种常用的方法,分别说明了每种方法的内部机理并给出了每种方法的一个简单的实例,最后比较了每种方法性能和优缺点。

  一、引言  

   SQL Server是微软推出的中小型网络数据库系统,是目前最常用的数据库系统之一。随着SQL Server网络数据库应用程序日益增多,这种Web数据库应用系统的正常运行一般依赖于已存在的用户数据库。创建维护数据库的工作可用SQL Server提供的SQL Enterprise Manager工具来进行,如能提供一种定制的数据库管理工具,通过管理应用程序来管理数据库及其设备,对用户来说无疑是最理想的。

  Visual Basic作为一种面向对象的可视化编程工具,具有简单易学,灵活方便和易于扩充的特点。而且Microsoft为其提供了与SQL Server通信的API函数集及工具集,因此它越来越多地用作大型公司数据和客户机—服务器应用程序的前端,与后端的Microsoft SQL Server相结合,VB能够提供一个高性能的客户机—服务器方案。  

  二、VB访问SQL Server数据的常用方法

  使用Visual Basic作为前端开发语言,与SQL Server接口有几种常用的方法,即:

  ①数据访问对象/Jet

  ②为ODBC API编程

  ③使用SQL Server的Visual Basic库(VBSQL)为DB库的API编程

  ④RDO 远程数据对象(RemoteData Objects)

  ⑤ADO 数据对象(Active Data Objects)

  1、数据访问对象/Jet

  VB支持Data Access Objects(DAOs)的子集。DAO的方法虽然不是性能最好的管理客户机—服务器之间的对话方式,但它的确有许多优点。DAO/Jet是为了实现从VB访问Access数据库而开发的程序接口对象。使用DAOs访问SQL Server的过程如下:应用程序准备好语句并送至Jet,Jet引擎(MASJT200.DLL)优化查询,载入驱动程序管理器并与之通讯,驱动程序管理器(ODBC.DLL)通过调用驱动器(SQLSRVR.DLL)的函数,实现连接到数据源,翻译并向SQL Server提交SQL语句且返回结果。下面是一个用DAOs访问SQL Server的VB实例。  

  注释:Form Declarations

Dim mydb As Database
Dim mydynaset As Dynaset オ
Private Sub Form_Load()
  Set mydb = OpenDatabase("", False, False, "ODBC; DSN=Myserver; WSID=LCL; DATABASE = sales")
  Set mydynaset = mydb CreateDynaset("Select*from Customers") オ
End Sub  

  上述例子是以非独占、非只读方式打开sales数据库,并检索Customers表中的所有字段。OpenDatabase函数的最后一个参数是ODBC连接字符串参数,它指明了Microsoft Access连接到SQL Server所需要知道的一些内容。其中“DSN”为数据源名,“WSID”为工作站名,“DATABASE”为所要访问的数据库名。

  2、利用ODBC API编程

  ODBC(Open Database Connectivity)的思想是访问异种数据库的一种可移植的方式。与数据资源对话的公用函数组装在一个称为驱动程序管理器(ODBC.DLL)的动态连接中。应用程序调用驱动程序管理器中的函数,而驱动程序管理器反过来通过驱动器(SQLSRVR.DLL)把它们送到服务器中。

  下面的代码使用上面一些函数先登录到一个服务器数据库,并为随后的工作设置了语句句柄。

Global giHEnv As Long
Global giHDB As Long
Global giHStmt As Long

Dim myResult As integer
Dim myConnection As Srting
Dim myBuff As String*256
Dim myBufflen As Integer

If SQLAllocEnv(giHEnv)<>SQL_SUCCESS Then
  MsgBox"Allocation couldn注释:t happen!"
End If
If SQLAllocConnect(giHEnv,giHDB)<>SQL_SUCCESS Then
  MsgBox "SQL Server couldn注释:t connect!"
End If
myConnection="DSN=myServer;UID=LCL;PWD=;APP=ODBCTest;WSID=LCL;DATABASE=sales"
   myResult=SQLDriverConnect(giHDB,Test,form1.hWnd,myConnection.len(myConnection),
   myBuff,256,myBufflen,SQL_DRIVER_COMPLETE_REQU IE D)
   myResult=SQLAllocStmt(giHDS,giHStmt)
   myResult=SQLFreeStmt(giHStmt,SQL_COLSE)
   rsSQL="Select * from Customers Where City = "Hunan""
   myResult = SQLExecDirect(giHStmt,rsSQL,Len(rsSQL))