网站首页 手机版
 注册 登录
您现在的位置: 畅无忧设计 >> 网络编程 >> ASP教程 >> 正文
最新文章
· FSO 组件asp生成html静态页面碰到缓存
· asp实现长文章自动分页插件
· 在ASP中访问和更新Cookies集合
· ASP错误提示大全
· 学习ASP的几个观点
· ASP用两级联动下拉列表来显示大类和小
· ASP取当前页面地址和参数
· ASP删除记录的同时删除相关图片
· asp将查询结果导出到excel
· ASP批量导入Excel到Access或者Sql Se
热门文章
 化境ASP无组件上传类 - upload_5xs
 一个获取ACCESS数据库表名以及表名
 asp将查询结果导出到excel
 艾恩ASP无组件上传修改版
 ASP批量导入Excel到Access或者Sql 
 ASP读取数据库的Flash+JS图片切换特
 ASP用两级联动下拉列表来显示大类和
 ASP+JS实现网页歌曲连播、点播功能
 使用ASP重启服务器
 asp批量替换access数据库中指定字段
相关文章
没有相关文章
创建数据表/创建列的一些asp函数
来源:中国asp之家 更新时间:2009/5/16 11:57:33 阅读次数:
字体:[ ] 我要投稿

有时候要通过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

  • 上一篇文章:
  • 下一篇文章:
  • 关于我们 - 联系我们 - 广告服务 - 在线投稿 - 友情链接 - 网站地图 - 版权声明
    CopyRight 2008-2010, CWYDESIGN.COM - 畅无忧设计, Inc. All Rights Reserved
    滇ICP备09005765号