打印本文 打印本文 关闭窗口 关闭窗口
在VB中更改SQL Server数据库结构
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1139  更新时间:2007/11/14 13:14:45  文章录入:mintao  责任编辑:mintao

     笔者在开发"凉山州林业局"天然林资源保护综合管理系统中,需要为程序建立Sql Server数据库的运行环境。为了方便用户,笔者开发了这个数据库配置工具。完成在SQL Server数据库中建立设备,建立数据库,建立表格,分配权限的功能,"凉山州林业局"系统中的所有数据库配置操作都可以通过这个小工具完成。方便了数据库应用程序所需Sql Server环境的建立,根本不用启动SQL Enterprise Manager配置数据库。

  这个小工具由VB开发,利用ADO 访问数据库,实现更改数据库结构,其他语言也可以此作为参考。启动VB6.0,新建一个工程,在菜单-工程-引用里选"Microsoft ActiveX Data Objects 2.0 Library",代码里需要有

dim conn As New ADODB.Connection
定义ADO数据库对象
conn.ConnectionString = "driver={SQL Server};" & _
"server=" & ServerName & ";uid=" & UserName & ";
pwd=" & Password & ";database=" & DatabaseName & ""
连接数据串
conn.open 连接数据库

  注:ServerName为服务器名;UserName为用户名;Password为用户口令; DatabaseName要登录的数据库名,可以为空。

  核心代码如下:

  一、建立数据库

  原理:建立数据库先要初始化一个数据库设备,然后在此设备上建立数据库。所有的设备名在系统表"sysdevices"里有记录,所有的数据库名在系统表"sysdatabases"里有记录。在建立之前,最好先查询这两个系统表,看名称是否已经存在。在建立设备之前,还需要的一个物理名和空闲的设备标识号。
初始化设备语法:

DISK INIT NAME="device_name",PHYNAME=
"physical_name",VDEVNO=device_number,
SIZE=numberofblock

  说明:这里,NAME是数据库设备名(一个有效的标识符),PHYNAME(数据库设备的物理名)是原始的磁盘分区UNIX或外设(vms)名,或者是操作系统的文件名。VDEVNO时数据库的设备标识号,合法值为1-255,SIZE的单位是2KB的块,例如1MB(1024KB)时SIZE值为512。

  建立数据库语法:CREATE DATABASE database_name [ON database_device]

  说明:database_name是要建的数据库名,database_device是设备名

  要新建立一个数据库,就需要设备名,数据库名,物理名和设备号。具体步骤如下:

  我们假设用户要新建立设备dbName,在设备dbName上建立数据库dbName。

  1)得到设备名。dbName是用户给出的设备名;先查询系统表sysdevices,看用户给出的设备名dbName是否已经存在,如果此设备名存在,就需要更换一个设备名,因为设备名是唯一的。

sql = "select * from sysdevices
where name=" & dbName & ""
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "设备名"" & dbName & ""
已存在!", 16, "请重新输入名称"
Exit Sub
End If

156

打印本文 打印本文 关闭窗口 关闭窗口