创建数据表/创建列的一些asp函数
作者:亮亮 来源:亮亮blog 发布时间:2008-06-24 12:21:00
标签:表,字段,数据库,access,函数
有时候要通过asp代码在数据库中创建表和列,下面的就是这些操作的函数。
1.检测表是否存在
tbName 检测的表的名称
dbTp 数据库的类型1为sql,0为access
返回1存在,返回0不存在
Function isTable(tbName,dbTp)
dim isTbSql
if dbTp="1" then
isTbSql="select count(*) as num from sysobjects where id=object_id('"&tbName&"')"
dim rs:set rs=conn.execute(isTbSql)
if rs("num")>0 then
isTable="1"
else
isTable="0"
end if
rs.close
set rs=nothing
else
on error resume next
dim rs2:set rs2=conn.execute(tbName)
if err.number=0 then
isTable="1"
else
isTable="0"
end if
rs2.close
set rs2=nothing
end if
End Function
2.检测字段是否存在
tbName 要检测的字段所在的表
colName 要检测的字段
dbTy 数据库类型 1为sql,0为access
返回1表示字段存在,返回0表示不存在,当然若表不存在也是返回0
Function isCol(tbName,colName,dbTy)
dim isColSql
if dbTy="1" then
isColSql="select count(*) as num from syscolumns where id=object_id('"&tbName&"') and name='"&colName&"'"
dim rs:set rs=conn.execute(isColSql)
if rs("num")>0 then
isCol="1"
else
isCol="0"
end if
rs.close
set rs=nothing
else
isColSql="select "&colName&" from "&tbName
on error resume next
dim rs1:set rs1=conn.execute(isColSql)
if err.number=0 then
isCol="1"
else
iscol="0"
end if
rs1.close
set rs1=nothing
end if
End Function
3.添加表函数
tbName 表的名称
pkCol 表的第一个字段,此字段必须为你创建表的主键,并且自动编号
Function addTable(byVal tbName,byVal pkCol)
Dim TSql
if isTable(tbName,dbType)="0" then
TSql="Create Table ["&TbName&"]("&pkCol&" int IDENTITY (1,1) CONSTRAINT PrimaryKey PRIMARY KEY);"
conn.Execute(TSql)
response.Write("表创建成功")
else
response.Write("要创建的表存在")
end if
End Function
4.添加列名
tbName 表名称
colName 列名称
colType 列的数据类型;如nvarchar(50)
Function addCol(tbName,colName,colType)
if isTable(tbName,dbType)="1" and isCol(tbName,colName,dbType)="0" then
Dim TSql
TSql="Alter Table ["&tbName&"] Add "&colName&" "&colType
conn.Execute(TSql)
response.Write("列:"&colName&" 创建成功")
else
response.Write("列:"&colName&" 没有创建,可能表不存在或字段重复")
end if
End Function
5.删除列
Function delCol(tbName,colName)
if isTable(tbName,dbType)="1" and isCol(tbName,colName,dbType)="1" then
Dim TSql
TSql="Alter Table ["&tbName&"] Drop column "&colName
conn.Execute(TSql)
response.Write("列: "&colName&" 删除成功")
else
response.Write("表或者列不存在")
end if
End Function
使用方法相信就很简单了,看下面的示例:
dim connStr
const dbType="1"
if dbType="0" then
connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../test.mdb")
else
connStr="Provider=Sqloledb;User Id=sa;Password=12345a;Initial Catalog=test;Data Source=(local)"
end if
dim conn:set conn=server.CreateObject("adodb.connection")
conn.open connStr
'下面的就是例子
addTable "myTb1","mId"
'addCol "myTb1","mCol_1","nvarchar(50)"
'delCol "myTb1","mCol_1"
'response.Write(isCol("myTb1","mCol_1","0"))
conn.close
set conn=nothing
0
投稿
猜你喜欢
- 最近越来越多在博客上写些UX相关的内容作为分享,就涉及到跟普通博文不一样的文章建构问题。文章内容固然很重要,但排版、组织也是提高可读性和用户
- 今天 大白 问了一个关于CSS权重的问题:关于选择器权重的问题 。class的权重是10 标签权重是 1 。比如说 p span{} 权重是
- QQ影音新版发布官网Banner经过两周的酝酿、脑爆与设计调整,于20日顺利上线,连续7天,经历了昨天激动人心的最后发布,到此告一段落,这里
- 硬件平台:SUN Ultra Enterprise 3000 操作系统:Solaris 2.5(中文简体) 磁盘:4.2GB 内存:256M
- 删除一,你可以先把类型为varchar的字段该名,再加以个字段为要该为date的字段名相同,二,1,测试表create table TEST
- 简洁的隐藏垂直菜单在hover时将内容展开。这样的效果在JS里有很多个版本,但这个可以说是绝无仅有的CSS版本。此菜单可以在IE5.5,IE
- oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命
- 一、使用css缩写使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则请参看《常用css缩写语法总结》,这里就不展开描
- CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理技
- 如何实现像腾讯QQ聊天窗口中文字链接提醒效果。完善了部分代码...比如,在不是连接的地方单击的时候,把那个提示关闭掉...在复制不成功的时候
- 运行环境:IIS脚本语言:VBScript数据库:Access/SQL Server数据库语言:SQL1.概要:不论是在论坛,还是新闻系统,
- 1.关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。关系模型是由若干个关系模式组成的集合。2.关系模式:关系模
- asp禁止站外盗链,站外提交方法、以及asp判断星期几方法.防盗链,主要通过判断上一页面来源是否是本站来实现的,不是本站的链接就
- 1.比喻 如同Windows用桌面、文件夹、垃圾筒来比喻计算机的*作,Web的设计也是如此。善于利用明确、抽象或概念化的比喻ICON来表达各
- 说到客户端数据存储,可能第一时间想到的是cookies,这是一种网站常见的存储数据的方法。它的最大优点是兼容性好,几乎所有浏览器都具有这个功
- 不知不觉2008已经走到了尽头,在这近一年中,一直不断的尝试用ExtJS做项目,从1.1到现在的2.2,吃了不少苦头,也有不少收获,总结一
- asp之家注:学习asp网页编程的朋友一定用过ACCESS数据库,access的简单方便,大大降低了asp初学者学习asp的门槛,对于学习a
- '去掉字符串头尾的连续的回车和空格 function trimVBcrlf(str) tr
- 原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE
- 调用数据库存储过程见下:<%Set Dataconn = Server.CreateObject(&qu