电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 冲浪宝典
sqlserver数据对象结构的动态建立与访问_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 

MicrosoftSQLServer与ORACAL、Sybase都是当前比较流行的数据库管理系统(RDMS),随着SQLServer的不断完善与发展,以及与网络操作系统WindowsNT的完美结合,它为分布式客户服务器结构程序设计提供了良好的开发环境,也因此越来越受到人们的重视。

MicrosoftSQLServer是一个可缩放、高性能的数据库管理系统,它提供了与WindowsNT线程和调度服务、性能监视器和事件浏览器的集成,基于Windows管理界面并提供对多个服务器上的远程数据复制管理、服务器管理、诊断和调整的可视化拖放控制。

分布式管理对象(DMO)为SQLServer引擎和服务提供了一个对象接口。SQL-DMO是为Windows95与WindowsNT操作系统提供的32位OLE自动化对象,OLE是维护应用程序共享对象的标准和方法,是一种允许应用程序为进行管理或数据访问共享对象的编程方法。DMO是利用OLE结构开发的,它为与OLE兼容的应用程序提供了通向所有SQLServer管理功能的接口,DMO使软件开发者直接访问SQLServer数据对象变成可能。我们利用VisualBasic与VisualFoxPro等编程工具就可以使用分布式管理对象实现对SQLServer的直接访问。

MicrosoftSQLServer所提供的工具使客户端能通过多种方法访问服务器上的数据,这些工具的核心部分即是Transact-SQL(事务SQL)代码。Transact-SQL是结构化查询语言(SQL)的增强版本,它提供了许多附加的功能和函数。利用Transact-SQL,你可以创建数据库设备、数据库和其它数据对象、从数据库中提取数据、修改数据,也可以动态地改变SQLServer中的设置。因此,使用Transact-SQL大大地提高了应用程序的实用性。

当我们进行Client/Server结构项目开发时需要建立若干个数据对象的结构,如果所开发的项目是面向某个具体的客户时,在Server上手工建立数据库设备、数据库与表是可行的,但是如果所开发的项目是作为软件发行而非面向某个具体的客户时,无疑,手工建立数据对象的结构是不现实的,我们需要将创建数据库与表的过程固化在程序中,当程序运行时动态地在Server上建库与表。因此,利用分布式管理对象与Transact-SQL是进行Client/Server结构程序设计的重要手段。

下面将讨论如何在VisualBasic5.0中利用DMO与Transact-SQL在SQLServer上建立数据库设备、数据库及其他数据对象。我们从具体问题着手:在SQLServer上建立200M与400M的数据库设备Device_1、Device_2,在Device_1与Device_2上分别建立容量为100M的两个数据库Db1与Db2,在Db1库中建立表T_1,有四个域:Name,Age,Sex,ID_Code,以ID_Code为关键字,以Name为索引,在Db2库中建立表T_2,有五个域:Name、Age、Sex、Department、No,以Department与No为关键字。

访问SQLServer,首先要打开SQLServiceManager,SQLServiceManager用于启动、暂停、继续、停止SQLServer的服务,包括MSSQLServer与SQLExecutive两项。可以通过手工方式打开这两项服务,也可以在程序中通过行命令式打开它们。

若采用手工方式,则打开SQLServiceManager,对于其中的服务MSSQLServer与SQLExecutive,直接启动它们的Start/Continue绿灯即可。

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

X=shell("Sqlmgr.exe",1)显示SQLServiceManager窗口;
X=shell("netstartmssqlserver")启动MSSQLServer服务
X=shell("netstartsqlexecutive")启动SQLExecutive服务

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

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

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

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

3.建立与SQLServer的连接:
OServer.ConnectServerName:=注册的SQLServer名,Login:=登录名(一般为sa),Password:=密码

4.建数据库设备Device_1与Device_2:
dimtransqlasstring
transql="usemaster"&_
"DISKINIT"&_
"Name=Device_1,"&_
"Physname=D:\SQL\data\device1.dat,"&_
"vdevno=10,"&_
"size=102400"&_
"DISKINIT"&_
"Name=Device2,"&_
"Physname=D:\SQL\data\device2.dat,"&_
"vdevno=11,"&_
"size=204800"
OServer.ExecuteImmediateCommand:=transql,exectype:=SQLOLEExec_Default

5.建数据库Db_1与Db_2:
transql="CREATEDATABASEDb_1ONDevice_1=100"
OServer.ExecuteImmediateCommand:=transql,exectype:=SQLOLEExec_Default
transql="CREATEDATABASEDb_2ONDevice_2=100"
OServer.ExecuteImmediateCommand:=transql,exectype:=SQLOLEExec_Default

6.在数据库中建表:
在数据库Db_1上建表T_1:
transql="useDb_1"&_
"createtableT_1"&_
"(Namechar(8)null,"&_
"Agenumeric(2)null,"&_
"Sexsmallintnull,"&_
"ID_Codechar(16)notnull,"&_
"constraintc_1primarykeyclustered(ID_Code))"
OServer.ExecuteImmediateCommand:=transql,exectype:=SQLOLEExec_Default
建表T_1的Name列的索引:
transql="CREATEINDEXindex_1ONT_1(Name)"
OServer.ExecuteImmediateCommand:=transql,exectype:=SQLOLEExec_Default
在数据库Db_2上建表T_2:
transql="useDb_2"&_
"createtableT_2"&_
"(Namechar(8)null,"&_
"Agenumeric(2)null,"&_
"Sexsmallintnull,"&_
"Departmentchar(16)notnill,"&_
"Nochar(4)notnull,"&_
"constraintc_2primarykeyclustered(Department,No))"
OServer.ExecuteImmediateCommand:=transql,exectype:=SQLOLEExec_Default

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

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

DISKRESIZE
Name=Devive_1,
Size=102400

对于SQLServer上已经建立的数据库及表的结构,也可以通过DMO与事务SQL进行修改与删除。类似于上面的编码,可以利用AlterDatabaseDb_1,AlterDatabaseDb_2,AlterTableT_1,AlterTableT_2等事务SQL语句进行对所建立的数据库与表的的结构进行修改,而利用DropDatabase,DropTable事务语句删除所建立的数据库与表。

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

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·一招技巧 让windows xp时钟也显示星期几_windows xp
·会议电视系统_视频通信
·基于数字机顶盒的电子设计和实现_视频通信
·雅虎计划推行奖励制度 防止用户继续流失_it动态
·甜蜜漩涡:photoshop绘制浓情丝滑巧克力_photoshop教程
·如何取得计算机的所有字型_visualbasic教程
·vb编程的好帮手--资源文件_visualbasic教程
·sqlserver数据对象结构的动态建立与访问_visualbasic教程
·浅谈用vb6.0编写bo程序_visualbasic教程
·如何在vb中直接显示无格式256灰度级图像_visualbasic教程

最新文章
·fireworks不抠图实现标识反白特效_fireworks教程
·让windows xp“本地连接”恢复正常_windows xp
·一张图透彻讲解photoshop蒙版_photoshop教程
·php:树形结构的算法_php技巧
·使用更舒心 windows xp五则技巧放送_windows xp
·windows xp操作系统中如何节约内存_windows xp
·用photoshop建立微缩景观效果_photoshop教程
·phtoshop制作火红色圣诞节纪念信用卡_photoshop教程
·安装jdk 就可同时运行php和java?_php文摘
·photoshop轻松绘制可爱卡通表情_photoshop教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号