科技行者

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

知识库

知识库 安全导航

至顶网软件频道SQL Server数据对象结构的动态建立与访问

SQL Server数据对象结构的动态建立与访问

  • 扫一扫
    分享文章到微信

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

Microsoft SQL Server与ORACAL、Sybase都是当前比较流行的数据库管理系统。

作者:木子 来源:VB编程乐园 2007年10月23日

关键字: SQL Server

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

在本页阅读全文(共2页)

采用行命令启动方式,可利用VB的Shell命令:

X=shell("Sqlmgr.exe",1) 显示SQL Service Manager窗口;
X=shell("net start mssqlserver") 启动MSSQLServer服务
X=shell("net start sqlexecutive") 启动SQLExecutive服务

  因为在这里我们希望通过编程在SQL Server上实现数据对象结构的动态建立,因此建议使用行命令方式。

  启动了SQL Server Manager后,我们就可以利用DMO与Transact-SQL按以下步骤来建数据对象了。

  1.为能使用DMO,首先需要打开VB工具栏中Reference(引用),选择Microsoft Windows Common Control 5.0,如果在引用栏中没有发现此项,则选择Browse(浏览),将\WINNT\System32目录下的Comctl32.oca加入到Reference中来。

  2.在模块文件(.BAS)中建立SQLOLE对象:

Global OServer as New SQLOLE.SQLServer

  3.建立与SQL Server的连接:

OServer.Connect ServerName:=注册的SQL Server名,Login:=登录名(一般为sa),Password:=密码

  4.建数据库设备Device_1与Device_2:

dim transql as string
transql="use master" & _
"DISK INIT" & _
"Name='Device_1'," & _
"Physname='D:\SQL\data\device1.dat'," & _
"vdevno=10," & _
"size=102400" & _
"DISK INIT" & _
"Name='Device2'," & _
"Physname='D:\SQL\data\device2.dat'," & _
"vdevno=11," & _
"size=204800"
OServer.ExecuteImmediate Command:=transql,exectype:=SQLOLEExec_Default

  5.建数据库Db_1与Db_2:

transql = "CREATE DATABASE Db_1 ON Device_1=100 "
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default
transql = "CREATE DATABASE Db_2 ON Device_2=100 "
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default

  6.在数据库中建表:

  在数据库Db_1上建表T_1:

transql = "use Db_1 " & _
"create table T_1 " & _
"(Name char(8) null, " & _
" Age numeric(2) null, " & _
" Sex smallint null, " & _
" ID_Code char(16) not null, " & _
" constraint c_1 primary key clustered (ID_Code))"
OServer.ExecuteImmediate Command:=transql,exectype:=SQLOLEExec_Default

  建表T_1的Name列的索引:

transql="CREATE INDEX index_1 ON T_1 (Name)"
OServer.ExecuteImmediate Command:=transql,exectype:=SQLOLEExec_Default

  在数据库Db_2上建表T_2:

transql = "use Db_2 " & _
"create table T_2 " & _
"(Name char(8) null, " & _
" Age numeric(2) null, " & _
" Sex smallint null, " & _
" Department char(16) not nill, " & _
" No char(4) not null," & _
"constraint c_2 primary key clustered (Department,No))"
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default

  此时,我们完成了建立数据对象的编码工作,程序被编译执行后,就会在SQL Server上自动建立数据库设备、数据库及库中的表。

  对于数据库设备,可以用DISK REINIT,DISK REFIT,DISK RESIZE对它进行操作,如要扩展数据库设备Device_1的容量为200M,可利用如下方法:

DISK RESIZE
Name='Devive_1',
Size = 102400

  对于SQL Server上已经建立的数据库及表的结构,也可以通过DMO与事务SQL进行修改与删除。类似于上面的编码,可以利用Alter Database Db_1,Alter DatabaseDb_2,Alter Table T_1,Alter Table T_2等事务SQL语句进行对所建立的数据库与表的的结构进行修改,而利用Drop Database, Drop Table事务语句删除所建立的数据库与表。

  以上讨论了如何在SQL Server上动态地建立与访问数据对象的结构,至于对SQL Server上数据库与表的内容的访问,可以利用ODBC(开放数据库互连)、DAO(数据访问对象)、RDO(远程数据对象)或DB-Library进行编程。

查看本文来源

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

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

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