科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道VB应用程序访问SQL Server的常用方法

VB应用程序访问SQL Server的常用方法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:赛迪网 doorsir 来源:天新网 2008年4月30日

关键字: 数据库 Mssql SQL SQL Server

  • 评论
  • 分享微博
  • 分享邮件

5、ADO 数据对象(Active Data Objects)

ADO是基于全新的OLE DB技术,OLE DB可对电子邮件、文本文件、复合文件、数据表等各种各样的数据通过统一的接口进行存取。随着ActiveX控件的升级(Windows 98的ActiveX 5.0),RDO将被以ActiveX技术为基础的ADO接口所替代。下面将介绍基于ActiveX技术的ADO访问SQL Server 6.5数据库的技术和方法。基于浏览器的ADO接口常用函数如下:

(1)取当前的工作数据库

由于管理任务一般都必须在Master库中完成,因此在执行管理任务之前,最好保存当前工作库,以便完成任务之后再切换回原来的任务。

Public Function SQLGetCurrentDatabaseName(Cn As ADODB.Connection) As String  
Dim sSQL As String  
Dim RS As New ADODB.Recordset  
On Error GoTo errSQLGetCurrentDatabaseName  
sSQL="select CurrentDB=DB_NAME ( )"  
RS.Open sSQL, Cn  
SQLGetCurrentDatabaseName=Trim $ (RS! CurrentDB)  
RS.Close  
Exit Function  
errSQLGetCurrentDatabaseName:  
SQLGetCurrentDatabaseName=" "  
End Function

(2)取SQL Server安装目录下的DATA子目录路径

取SQL Server的设备文件缺省目录,返回如D:MSSQL DATA。

Public Function SQLGetDataPath(Cn As ADODB.Connection) As String  
Dim sSQL As String  
Dim RS As New ADODB.Recordset  
Dim sFullPath As String 
On Error GoTo errSQLGetDataPath  
sSQL="select phyname from master..sysdevices where name=注释:master注释: "  
RS.Open sSQL, Cn  
sFullPath = RS! phyname  
RS.Close  
SQLGetDataPath=Left $ (sFullPath, Len(sFullPath) -10) 注释:MASTER.DAT的大小  
Exit Function 
errSQLGetDataPath:  
SQLGetDataPath=" "  
End Function

(3)创建一个新数据库

Public Function SQLCreateDatabase65 
(Cn As ADODB.Connection,sDBName As String, 
sDataDeviceName As String, nDataSize As Integer, 
Optional sLogDeviceName,
Optional nLogSize) As Boolean 
Dim sSQL As String  
On Error GoTo errSQLCreateDatabase65 
Dim sDB As String  
sDB =SQLGetCurrentDatabaseName(Cn) 
sSQL = "USE master"  
Cn.Execute sSQL  
sSQL ="CREATE DATABASE" & sDBName  
sSQL = sSQL &" ON " & sDataDeviceName & "=" & nDataSize  
If Not IsMissing(sLogDeviceName) And Not IsMissing(nLogSize) Then  
sSQL = sSQL & "LOG ON" & sLogDeviceName & "="& nLogSize  
End If  
Cn.Execute sSQL  
sSQL = "USE" & sDB  
Cn.Execute sSQL  
SQLCreateDatabase65 = True  
Exit Function  
errSQLCreateDatabase65:  
On Error Resume Next  
sSQL = "USE " & sDB  
Cn.Execute sSQL  
SQLCreateDatabase65 = False  
End Function

 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章