首 页 学校简介 新闻动态 课程详解 师资力量 招生问答 就业广场 项目展示 在线报名 在线咨询 学习园地 证书查询 学习交流
陈老师
点击这里给我发消息
贺老师
点击这里给我发消息
咨询电话:
0719-8453777
0719-8453888
 
 学习园地
JAVE学习
·NET学习
SQL学习
学习心得
考试相关
其他
强大的
学术支持
权威认证
国家认可
培养实际
工作技能
先进产品
优质服务
项目实习
光明的
就业前景
报名咨询:
0719-8453777
0719-8453888
就业服务:
0719-8453555
传真:
0719-8453556
学校所在位置
导航: 十堰北大青鸟 官方网站 → 学习园地 → SQL学习 → 信息正文
用VB访问SQL Server数据库技术详解 (5)
文章来源:本站原创   点击数:  更新时间:2006-8-28  字体:【

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

(4)判断一个数据库是否存在

Public Function SQLExistDatabase(Cn As ADODB.Connection, sDBName As String) As Boolean 
 Dim sSQL As String 
 Dim RS As New ADODB.Recordset 
 Dim bTmp As Boolean 
 on Error GoTo errSQLExistDatabase 
 sSQL = "select CntDB = count ( * ) " 
 sSQL = sSQL & "From master.dbo.sysdatabases" 
 sSQL = sSQL & "Where name = 注释: "& sDBName & " 注释: " 
 RS.Open sSQL, Cn 
 If RS! CntDB = 0 Then bTmp = False Else bTmp = True 
  RS.Close 
  SQLExistDatabase = bTmp 
  Exit Function 
  errSQLExistDatabase: 
  SQLExistDatabase = False 
  Exit Function 
 End Function

  

(5)删除一个数据库  

Public Function SQLDropDatabase (Cn As ADODB.Connection, sDBName As String) As Boolean 
 Dim sSQL As String 
 On Error GoTo errSQLDropDatabase 
 If Not SQLExistDatabase(Cn, sDBName) Then 
  SQLDropDatabase = True 
   Exit Function 
 End If 
 Dim sDB As String 
 sDB = SQLGetCurrentDatabaseName(Cn) 
 sSQL = "Use master" 
 Cn.Execute sSQL 
 sSQL = "DROP DATABASE " & sDBName 
 Cn.Execute sSQL 
 sSQL = "USE " & sDB 
 Cn.Execute sSQL 
 SQLDropDatabase = True 
 Exit Function 
errSQLDropDatabase: 
 On Error Resume Next 
 sSQL = "USE " & sDB 
 Cn.Execute sSQL 
 SQLDropDatabase = False 
End Function 

信息录入:master02    责任编辑:master02 
  • 上一篇信息:

  • 下一篇信息:

  •  
    关于我们 | 人员招聘 | 联系我们 | 学校地图 | 友情链接 | 在线电视 | 员工培训 | 相关链接 | 用户中心 |

    Copyright © 2007-2010 Www.Syaccp.Com Inc. All Rights Reserved
    地址:湖北省十堰市柳林路柳小巷6号(原警察学校)    邮编:442000   
    电话:0719-8453777  8453888  8687886    传真:0719-8453556   
    E-mail:syaccp@syaccp.com   鄂ICP备:08001150

    咨询:陈老师 贺老师   运维:追梦