使用SPT建立SQL数据库

****************************************
*        使用SPT建立SQL数据库  *
*          1.0   2003.06.07            *
*  雅狐论坛  www.yafox.com  *
****************************************
*假设已经连接上SQL服务器,连接句柄为Sql_Connect
SQL_DataBase="yafox" &&要建立的数据库名称
SQL_CommandStr="SELECT count(name) as cntdatabase FROM sysdatabases WHERE name=?SQL_DataBase"  
=SQLEXEC(Sql_Connect,SQL_CommandStr,"SqlCurs")
IF SqlCurs.cntdatabase=0
    WAIT "正在建立数据库"+SQL_DataBase+",请稍候……" WINDOW NOWAIT 
    SQL_CommandStr="create database "+SQL_DataBase+" on(name='"+SQL_DataBase+"',filename='c:/"+SQL_DataBase+".mdf',size=
50,maxsize=1024,filegrowth=50) "
SQL_CommandStr=SQL_CommandStr+"log on (name='"+SQL_DataBase+"_log',filename='c:/"+SQL_DataBase+".ldf',size=50,maxsize=
1024,filegrowth=50)"
=SQLCOMMIT(Sql_Connect)
IF SQLEXEC(Sql_Connect,SQL_CommandStr)<0
  WAIT CLEAR
  MESSAGEBOX("创建数据库"+SQL_DataBase+"失败",16,"失败")
ELSE
  WAIT CLEAR
  MESSAGEBOX("创建数据库"+SQL_DataBase+"成功",16,"成功")
ENDIF
  MESSAGEBOX("创建数据库"+SQL_DataBase+"失败",16,"失败")
ELSE
MESSAGEBOX("数据库"+SQL_DataBase+"已经存在",16,"重复")
ENDIF
****************************************

语句解释:
name 数据库的逻辑名称
filename 数据库的物理名称及位置
size 初始大小 (M)
maxsize 最大限制 (M,可以忽略)
filegrowth 数据库增量   
  
*建立表 CodeUser 的命令如下:
SQL_CommandStr="create table CodeUser (userid nchar(4),username nchar(10),userpass nchar(24),uniqueid int 
identity,updatetime datetime)"
=SQLEXEC(Sql_Connect,SQL_CommandStr)

在建立一个表之前,我们应该先查询一下它是否已经存在于数据库中,查询命令如下:
SQL_CommandStr="SELECT count(id) as cntid FROM sysobjects WHERE name='CodeUser' and xtype='u'" 
=SQLEXEC(Sql_Connect,SQL_CommandStr,"SqlCurs")
IF SqlCurs.cntid>0
MESSAGEBOX("表CodeUser已经存在",16,"重复")
ENDIF

*建立表 CodeUser 的INSERT, UPDATE的触发器命令如下:
SQL_CommandStr="CREATE TRIGGER CodeUser_IU ON CodeUser FOR INSERT, UPDATE AS "+;
"update CodeUser set Updatetime=getdate() where uniqueid in (select uniqueid from inserted)"
=SQLEXEC(Sql_Connect,SQL_CommandStr)

此触发器的功能是在增加或者编辑过CodeUser表后,自己更新Updatetime字段为系统当前时间用以记录最后的更改时间
当然在建立触发器之前,我们也得先查询一下它是否已经存在,查询命令如下:
SQL_CommandStr="SELECT count(id) as cntid FROM sysobjects WHERE name='CodeUser_IU' and xtype='tr'"
=SQLEXEC(Sql_Connect,SQL_CommandStr,"SqlCurs")
IF SqlCurs.cntid>0
    MESSAGEBOX("触发器CodeUser_IU已经存在",16,"重复")
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值