vbs adox提取数据库表名和列名的类

<!--#include virtual="/include/conn.inc"-->
<%
'*********************************
'* classname: ADOXDBOPR
'* 制作人: 刘晓逸
'* 作用: 用adox进行数据库的操作
'* 版本: 1.0
'*www.jb51.net 我们
'**********************************
Class ADOXDBOPR

dim objADOX

Private Sub Class_Initialize 
Set objADOX=Server.CreateObject("ADOX.Catalog")
end sub

Public Property let Connection(objCONN)
objADOX.ActiveConnection=objCONN
End Property

public function arrTName
dim arrTNames()
dim i : i=1
for each objtab in objADOX.tables
  if objtab.type="TABLE" then
   redim Preserve arrTNames(i)
   arrTNames(i-1)=objtab.name
   i=i+1
  end if
next
arrTName=arrTNames
end function

public function arrfinfo(szTName)
dim arrf()
Set objTAdox=objADOX.tables.item(szTName)
for i=0 to objTAdox.columns.count-1
  Set dicInfo=Server.CreateObject("Scripting.Dictionary")
  redim preserve arrf(i+1)
  dicInfo.add "name",objTAdox.columns.Item(i).name
  dicInfo.add "type",type_int2str(objTAdox.columns.Item(i).type)
  Set arrf(i)=dicInfo
  Set dicInfo=nothing
next 
arrfinfo=arrf
end function

public sub del_table(szTName)
objADOX.tables.delete szTName
End Sub

public sub add_table(szTName)
Set obj_tab=Server.CreateObject("ADOX.Table")
obj_tab.Name=szTName
Set obj_tab.ParentCatalog=objADOX
objADOX.tables.Append obj_tab
Set obj_tab=nothing
End Sub

public sub delColumns(arrColumns,szTName)
Set obj_tab=objADOX.tables.item(szTName)
if isarray(arrColumns) then
  for i=0 to ubound(arrColumns)
   obj_tab.columns.delete arrColumns(i)
  next
else
  obj_tab.columns.delete arrColumns
end if
end sub

public sub add_columns(arrColumns,szTName)
Set objTab=objADOX.tables.item(szTName)
for i=0 to ubound(arrColumns)
  objTab.columns.append arrColumns(i,0),arrColumns(i,1),arrColumns(i,2)
next
end sub

function type_int2str(int_value)
select case int_value
  case 3:
  type_int2str="数字"
  case 202:
  type_int2str="文本"
  case else:
  type_int2str=int_value
end select
end function

Private Sub Class_Terminate
Set objADOX=nothing
End Sub

End class
%>

(0)

相关推荐

  • vbs adox提取数据库表名和列名的类

    <!--#include virtual="/include/conn.inc"--> <% '********************************* '* classname: ADOXDBOPR '* 制作人: 刘晓逸 '* 作用: 用adox进行数据库的操作 '* 版本: 1.0 '*www.jb51.net 我们'********************************** Class ADOXDBOPR dim objADOX Priva

  • SQL提取数据库表名及字段名等信息代码示例

    本文向大家介绍了使用SQL语句提取数据库所有表的表名.字段名的实例代码,在SQLserver 中进行了测试,具体内容如下: --查询所有用户表所有字段的特征 SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name, COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity, CASE WHEN EXISTS (SELECT 1 FROM dbo.sysobjects

  • 如何让java只根据数据库表名自动生成实体类

    根据数据库表名生成实体类 公司用的jpa,没有用mybatis.所以也没有用mybatis自动生成.但有些数据库表字段太多,就想着一劳永逸了,连数据库注释都搞上去 第一种 这里使用的是jdbcTemplate+Junit测试生成,方式可变. SpringBoot版本是2.4.4,只需要加上@SpringBootTest就可以了.不用@RunWith pom: <dependency> <groupId>org.springframework.boot</groupId>

  • C# 获取数据库中所有表名、列名的示例代码

    C# 获取数据库中所有表名.列名,实现代码如下所示: List<Dictionary<string, string>> GetColsName(Guid gtype,string tableName,string itemIndex= "COLUMN_NAME") { DataTable dsTablesData = DbDataHelper.GetCon().GetOleDbSchemaTable(gtype, new Object[] { null, nul

  • Linux系统MySQL忘记密码,重置密码,忽略表名、列名大小写的方法

    在linunx系统刚装的MySQL,忘记曾经设置的密码或者安装过程无法设置密码时,试图用常用的密码猜测,如:1,11,111,1111,11111,111111,123456,000000,1234321等等最简单的默认密码来试探,结果试遍了也不对,还是无法进入mysql.原因可能是你当初设置的密码比较复杂后来给忘了,更可能的原因是你安装过程中没允许设置密码,这样的密码一般是MySQL随机生成的一大串由大小写字母.数字和符号组合成的复杂密码.这样的密码不需要白费力去试探了,这就需要通过特殊的方式

  • 利用JAVA反射,读取数据库表名,自动生成对应实体类的操作

    本代码是利用java反射,读取数据库表自动根据表名生成实体类,数据库采用老牌SQLSERVER 2000,驱动为JTDS,其他数据库可根据情况自定修改. 代码中包含了大部分数据库类型与JAVA类型的转换,少数未包含进去的会在生成代码时打印出来,方面后期查找修改. import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.sq

  • ASP获取数据库表名、库名、字段名的方法

    ASP获取数据库表名,字段名 以SQLServer为例: 复制代码 代码如下: < %   SET Conn=Server.CreateObject("ADODB.Connection")   Conn.Open "Server=IP地址;Provider=sqloledb;Database=库名称;UID=用户名;PWD=密码;"   %> 读SqlServer库中的表名: 复制代码 代码如下: < %   Set rs=Conn.OpenSch

  • ASP获取ACCESS数据库表名及结构的代码

    <html> <head> <title>获取ACCESS数据库表名_www.jb51.net</title> </head> <body style="text-align:left;margin-left:50px;font-family:'arial';font-size:12px"> <form style="padding:5px;margin:5px;margin-left:0px&qu

  • SQL Server数字开头的数据库表名的解决方法

    今天遇到了个郁闷的问题,关于数据库表名的问题. SQL Server的数据库的表名可以用数字开头,但是在查询的时候,不能直接写表名,如下: select *         form 1_tablename 在执行过程中,报错.但是给表名加上中括号,就可以了,如下: select *         from [1_tablename] 用VS中的DataSet开发时,会自动生成SQL语句,但是生成的SQL语句中,有的加上方括号,但是有的没有加, 这在程序执行过程中,就不能确定语句的正确性,而且

  • c#获得目标服务器中所有数据库名、表名、列名的实现代码

    复制代码 代码如下: /// <summary>        /// 获得目标服务器所有数据库名        /// </summary>        /// <param name="serverName"></param>        /// <param name="userName"></param>        /// <param name="passwor

随机推荐