检查access数据库中是否存在某个名字的表的asp代码

时间:2021-09-03 02:23:11

可以把本功能写成一个函数,函数的处理过程描述如下: 

首先调用adodb.connection对象中的openSchema函数,这样会得到一个Recordset,其中每一条“纪录”对应着数据库中的一张表,“纪录”的每个“字段”包含了对应表的某方面信息。其中TABLE_NAME字段包含了对应表的名称 
然后遍历这个Recordset,如果“当前纪录”的TABLE_NAME字段的值和要查找的表的名字一样,证明要查找的表存在。 
函数如下所示: 

复制代码代码如下:


function check_gived_DataTable_exist_or_not(connect_object,name_of_gived_DataTable) 
Do_gived_DataTable_exist=false 
Const adSchemaTables=20 '表明想要得到数据库中“表(table)和视图(view)的集合” 
set RecordSet_about_table_and_view_in_DataBase=connect_object.openSchema(adSchemaTables) 
Do Until RecordSet_about_table_and_view_in_DataBase.EOF 
if RecordSet_about_table_and_view_in_DataBase("TABLE_TYPE")="TABLE" then 
if RecordSet_about_table_and_view_in_DataBase("TABLE_NAME")= name_of_gived_DataTable then 
Do_gived_DataTable_exist=true 
exit do 
end if 
end if 
RecordSet_about_table_and_view_in_DataBase.movenext 
Loop 

check_gived_DataTable_exist_or_not=Do_gived_DataTable_exist 
end function 


注释: 

connect_object.openSchema(adSchemaTables)这个函数执行后,会得到“数据库中表(table)和视图(view)的集合”,这是一个ADODB.Recordset类型的数据。 
if RecordSet_about_table_and_view_in_DataBase("TABLE_TYPE")="TABLE"这句话把检查范围缩小为“表(table)”。