判断已经存在的数据库或者是表和记录
如果通过语句来判断数据库或表已经存在了,
谢谢各位了,
问题点数:50、回复次数:6Top
1 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2005-06-18 09:34:11 得分 10
不用ADOX也可以判断access表是否存在
哈哈,不用ADOX也可以!!
<%
Dim cn ,strCnn,rstSchema
set cn = server.createobject("ADODB.Connection")
set strCnn = server.createobject("ADODB.Recordset")
set rstSchema = server.createobject("ADODB.Recordset")
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;"
strCnn = strCnn & "Data Source=F:\asptest\tree.MDB;"
strCnn = strCnn & "Persist Security Info=False"
cn.Open strCnn
set rstSchema=cn.openSchema(20)
rstSchema.movefirst
Do Until rstSchema.EOF
if rstSchema("TABLE_TYPE")="TABLE" then
response.write rstSchema("TABLE_NAME") & "<br/>"
end if
rstSchema.movenext
Loop
cn.close
'set rstSchema = nothing
'set cn = nothing
%>
SQL -->系统表sysobjects
access---》用ADOX的 例子:
<%
Dim cn ,strCnn
set cn = server.createobject("ADODB.Connection")
set strCnn = server.createobject("ADODB.Recordset")
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\asptest\tree.MDB;Persist Security Info=False"
cn.Open strCnn
Set tb = Server.CreateObject("ADOX.Table")
Set cat = Server.CreateObject("ADOX.Catalog")
Set cat.ActiveConnection = cn
For Each a In cat.Tables
Response.Write a.Name & "<br>"
Next
cn.close
%>
Top
2 楼superdullwolf(超级大笨狼,每天要自强,MVP)回复于 2005-06-18 09:35:22 得分 20
SQL
SELECT o.name AS oname, c.name AS cname, CONVERT(varchar(30), p.[value]) AS [value],
p.smallid AS psmallid, t.name AS tname, i.name AS idfield
FROM dbo.syscolumns c INNER JOIN
dbo.systypes t ON c.xtype = t.xtype INNER JOIN
dbo.sysobjects o ON o.id = c.id LEFT OUTER JOIN
dbo.sysproperties p ON p.smallid = c.colid AND p.id = o.id LEFT OUTER JOIN
(SELECT id, name
FROM syscolumns
WHERE status = 0x80) i ON i.id = c.id
WHERE (o.xtype = 'U')Top
3 楼itzhiren(itzhiren)回复于 2005-06-18 09:48:38 得分 20
sp_helpdb
报告有关指定数据库或所有数据库的信息。
语法
sp_helpdb [ [ @dbname= ] 'name' ]
参数
[@dbname=] 'name'
是要为其提供信息的数据库名称。name 的数据类型为 sysname,无默认值。如果没有指定 name,则 sp_helpdb 报告 master.dbo.sysdatabases 中的所有数据库。
返回代码值
0(成功)或 1(失败)
结果集
列名 数据类型 描述
name nvarchar(24) 数据库名称。
db_size nvarchar(13) 数据库总计大小。
owner nvarchar(24) 数据库所有者(例如 sa)。
dbid smallint 数字数据库 ID。
created char(11) 数据库创建的日期。
status varchar(340) 以逗号分隔的值的列表,这些值是当前在数据库上设置的数据库选项的值。
只有启用布尔值选项时,才将这些选项列出。非布尔值选项及其对应值以 option_name=value 的形式列出。
有关更多信息,请参见 ALTER DATABASE。
compatibility_level tinyint 数据库兼容级别(60、65、70 和 80)
Top
4 楼itzhiren(itzhiren)回复于 2005-06-18 09:49:31 得分 0
你在查询分析器里面,执行sp_helpdb,就可以看到结果,就知道该怎么判断是否存在某数据库了Top
5 楼Dancc(我微笑,因为你在微笑~~~)回复于 2005-06-18 09:54:35 得分 0
用FSO可以来判断是否存在某个文件,当然也就可以来判断是否存在某个数据库啦!!
嘿嘿...Top
6 楼clcy(风雨)回复于 2005-06-18 11:42:01 得分 0
没用过,顶哈Top




