- 浏览: 126891 次
- 性别:
- 来自: 深圳
文章分类
最新评论
MDB数据文件操作
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'新建数据库
if request("act")="CreateDB" then
PathName=trim(request("PathName"))
DbVersion= trim(request("DbVersion"))
if PathName="" then
response.write("<script>alert('要压缩的数据库的路径不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call CreateDB(PathName,DbVersion)
end if
'压缩数据库
if request("act")="CompactDB" then
PathName=trim(request("PathName"))
DbVersion=trim(request("DbVersion"))
if PathName="" then
response.write("<script>alert('要压缩的数据库的路径不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call ComPactDB(PathName,DbVersion)
end if
'删除数据库
if request("act")="DeleteDB" then
PathName=trim(request("PathName"))
if PathName="" then
response.write("<script>alert('要压缩的数据库的路径不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call DeleteDB(PathName)
end if
' 查询所有数据表名称
if request("act")="FindTableList" then
PathName=trim(request("PathName"))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableList(PathName,TableListString)
end if
' 查询数据表名称
if request("act")="FindTableName" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
TableName1=cstr(trim(request("TableName1")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('原数据表名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName2(PathName,TableName)
end if
'更新数据表名称
if request("act")="AlterTableName" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
TableName1=cstr(trim(request("TableName1")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('原数据表名称不能为空!');history.back(1);</script>")
end if
if TableName1="" then
response.write("<script>alert('新数据表名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName(PathName,TableName)
Call FindTableName1(PathName,TableName1)
Call AlterTableName(PathName,TableName,TableName1)
end if
'删除数据表名称
if request("act")="DropTableName" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('要删除的数据表名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName(PathName,TableName)
Call DropTableName(PathName,TableName)
end if
'查询数据表字段
if request("act")="FindTableColumnList" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('要查询的数据表名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName(PathName,TableName)
Call FindTableColumnList(PathName,TableName)
end if
Sub CreateDB(PathName,DbVersion)
on error resume next
select case DbVersion
case "97"
DbVersion1 = "3.51"
case "2000"
DbVersion1 = "4.0"
end select
Set Cat = Server.CreateObject("ADOX.Catalog")
call Cat.Create("Provider=Microsoft.Jet.OLEDB." & DbVersion1 & ";Data Source=" & server.MapPath(PathName))
if err then
response.write("<script>alert('新建Access"&DbVersion&"数据库"&PathName&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('新建Access"&DbVersion&"数据库"&PathName&"操作成功,系统即将返回');history.go(-1);</script>")
response.End()
end if
End Sub
Sub FindPathName(PathName)
on error resume next
x=0
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.fileexists(server.MapPath(PathName))=true then
x=1
set fso=nothing
if err then
response.write("<script>alert('查找数据库"&PathName&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
if x=0 then
response.write("<script>alert('数据库"&PathName&"不存在,系统即将返回');history.go(-1);</script>")
response.End()
end if
end if
end if
End Sub
'查询指定名称的数据表,找到了继续,找不到返回
Sub FindTableName(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
rem x=0 表示不存在,x=1 表示存在
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
x=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
if rsSchema("TABLE_NAME")=tablename then
x=1
exit do
end if
end if
rsSchema.movenext
Loop
if x=0 then
response.write("<script>alert('数据表"&tablename&"不经存在,系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
'查询指定名称的数据表,找到了返回,找不到继续
Sub FindTableName1(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
rem x=0 表示不存在,x=1 表示存在
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
x=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
if rsSchema("TABLE_NAME")=tablename then
x=1
exit do
end if
end if
rsSchema.movenext
Loop
if x=1 then
response.write("<script>alert('新数据表"&tablename&"已经存在,系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
'查询指定的数据表
Sub FindTableName2(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
rem x=0 表示不存在,x=1 表示存在
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
x=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
if rsSchema("TABLE_NAME")=tablename then
x=1
exit do
end if
end if
rsSchema.movenext
Loop
if x=1 then
response.write("<script>alert('数据表"&tablename&"找到了,系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
else
response.write("<script>alert('找不到数据表"&tablename&",系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
'查询指定数据库中的所有数据表
Sub FindTableList(PathName,TableListString)
TableListString=""
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
rem x=0 表示不存在,x=1 表示存在
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
x=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
x=x+1
TableListString=TableListString&rsSchema("TABLE_NAME")&";"
end if
rsSchema.movenext
Loop
if x>0 then
response.write("<script>alert('找到了"&x&"个用户定义的数据表"&TableListString&"!,系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
else
response.write("<script>alert('找不到任何用户定义的数据表!系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
'删除数据库
Sub DeleteDB(PathName)
on error resume next
x=0
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.fileexists(server.MapPath(PathName))=true then
fso.deletefile(server.MapPath(PathName))
set fso=nothing
if err then
response.write("<script>alert('删除数据库"&PathName&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('删除数据库"&PathName&"成功,系统即将返回');history.go(-1);</script>")
response.End()
end if
end if
End Sub
'修改数据表名称
Sub AlterTableName(PathName,TableName,TableName1)
'Dim MyTable,MyField ,pro
On Error resume next
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set Conn=server.createobject("Adodb.connection")
Conn.open strConn
set mydb=server.createobject("adox.catalog")
set mytable=server.createobject("adox.table")
set myfield =server.createobject("adox.column")
MyDB.ActiveConnection =Conn
For Each MyTable In MyDB.Tables
if MyTable.Name=TableName then
MyTable.Name=TableName1
exit for
end if
Next
conn.close
set Conn=nothing
if err then
response.write("<script>alert('原数据表名称"&tablename&"修改成新数据表名称"&tablename1&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('原数据表名称"&tablename&"修改成新数据表名称"&tablename1&"成功!,系统即将返回');location.href='AlterDatabase.asp';</script>")
Response.end
end if
End Sub
'删除数据表名称
Sub DropTableName(PathName,TableName)
'Dim MyTable,MyField ,pro
On Error resume next
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set Conn=server.createobject("Adodb.connection")
Conn.open strConn
set mydb=server.createobject("adox.catalog")
set mytable=server.createobject("adox.table")
set myfield =server.createobject("adox.column")
MyDB.ActiveConnection =Conn
For Each MyTable In MyDB.Tables
if MyTable.Name=TableName then
MyDB.Tables.delete(TableName)
exit for
end if
Next
conn.close
set Conn=nothing
if err then
response.write("<script>alert('删除数据表"&tablename&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('删除数据表"&tablename&"成功!,系统即将返回');location.href='AlterDatabase.asp';</script>")
Response.end
end if
End Sub
Sub CompactDB(PathName, DbVersion)
on error resume next
strPathName = left(server.MapPath(PathName),instrrev(server.Mappath(PathName),"/"))
Set fso = CreateObject("Scripting.FileSystemObject")
Set Engine = CreateObject("JRO.JetEngine")
If DbVersion = 97 Then
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(PathName), _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPathName & "temp.mdb;" _
& "Jet OLEDB:Engine Type=" & 4
Else
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(PathName), _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPathName & "temp.mdb"
End If
fso.CopyFile strPathName & "temp.mdb",server.MapPath(PathName)
fso.DeleteFile(strPathName & "temp.mdb")
Set fso = nothing
Set Engine = nothing
if err then
response.write("<script>alert('压缩数据库"&server.MapPath(PathName)&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('压缩数据库"&server.MapPath(PathName)&"成功!,系统即将返回');location.href='AlterDatabase.asp';</script>")
Response.end
end if
end sub
Sub FindTableColumnList(PathName,TableName)
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.open ConnStr
Const adSchemaTables = 20
adSchemaColumns = 4
Set rstSchema = oConn.OpenSchema(adSchemaColumns)
response.write "<table border=1 align=center>"
response.write "<tr><td>Table name</td><td>field name</td><td>field type</td><td>is nullable</td><td>field size</td></tr>"
'tablename=""
Do Until rstSchema.EOF
if rstSchema("Table_name") =tablename then
response.write "<tr><td>"
response.write rstSchema("Table_name")
response.write "</td><td>"& rstschema("column_Name") & "</td><td>"
select case rstschema("data_type")
case 130
if rstschema("CHARACTER_MAXIMUM_LENGTH") = 1073741823 then
response.write "Memo"
else
response.write "Text"
end if
case 135
response.write "Date/Time"
case 3
response.write "Long Integer"
case 11
response.write "Yes/No"
case 131
response.write "Currency"
case else
response.write rstschema("data_type")
end select
response.write "</td><td>" & rstschema("is_nullable") & "</td><td>"
if rstschema("CHARACTER_MAXIMUM_LENGTH") <> 1073741823 then
response.write rstschema("CHARACTER_MAXIMUM_LENGTH")
else
response.write " "
end if
response.write "</td></tr>"
end if
rstSchema.MoveNext
Loop
response.write "</table>"
response.Write("<div align=center><a href='javascript:history.go(-1);' >点这里返回</a></div>")
response.End()
end sub
%>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=CreateDB" method="post" >
<tr>
<td height="35" colspan="2"><div align="center"><font size="4"><strong><font color="#FF0000">新建数据库(ASO+ADOX)</font></strong></font></div></td>
</tr>
<tr>
<td width="153" height="35">数据库库路径:</td>
<td width="586" height="35"><input name="PathName" type="text" id="PathName"> </td>
</tr>
<tr>
<td height="35">Access数据库格式</td>
<td height="35"><input name="DbVersion" type="radio" value="2000" checked>
Access 2000 <input name="DbVersion" type="radio" value="97">
Access 97</td>
</tr>
<tr align="center">
<td height="35" colspan="2"><input name="submit1" type="submit" id="submit1" value="新建数据库">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=DeleteDB" method="post" >
<tr>
<td height="35" colspan="2"><div align="center"><font size="4"><strong><font color="#FF0000">删除数据库(FSO)</font></strong></font></div></td>
</tr>
<tr>
<td width="153" height="35">数据库库路径:</td>
<td width="586" height="35"><input name="PathName" type="text" id="PathName"> </td>
</tr>
<tr align="center">
<td height="35" colspan="2"><input name="submit1" type="submit" id="submit1" value="删除数据库">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=CompactDB" method="post" >
<tr>
<td height="35" colspan="2"><div align="center"><font size="4"><strong><font color="#FF0000">压缩数据库(ASO+JRO)</font></strong></font></div></td>
</tr>
<tr>
<td width="153" height="35">数据库库路径:</td>
<td width="586" height="35"><input name="PathName" type="text" id="PathName"> </td>
</tr>
<tr>
<td height="35">Access数据库格式</td>
<td height="35"><input name="DbVersion" type="radio" value="2000" checked>
Access 2000 <input name="DbVersion" type="radio" value="97">
Access 97</td>
</tr>
<tr align="center">
<td height="35" colspan="2"><input name="submit1" type="submit" id="submit1" value="开始压缩数据库">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=FindTableList" method="post" >
<tr>
<td height="35" colspan="2"><div align="center"><font size="4"><strong><font color="#FF0000">查询所有数据库中的所有表(FSO+ADOX)</font></strong></font></div></td>
</tr>
<tr>
<td width="153" height="35">数据库库路径:</td>
<td width="586" height="35"><input name="PathName" type="text" id="PathName"> </td>
</tr>
<tr align="center">
<td height="35" colspan="2"><input name="submit1" type="submit" id="submit1" value="查询所有数据库中的所有表">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=FindTableName" method="post" >
<tr>
<td height="30" colspan="2"><div align="center"><strong><font color="#FF0000">查询指定数据表名称(AODX)</font></strong></div></td>
</tr>
<tr>
<td width="154" height="23">数据库路径:</td>
<td ><input name="PathName" type="text" id="PathName">
( 相对路径 )</td>
</tr>
<tr>
<td height="23">数据表名称:</td>
<td ><input name="TableName" type="text" id="TableName" size="15" maxlength="255"> </td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="Submit" value="查询指定数据表名称">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=AlterTableName" method="post" >
<tr>
<td height="30" colspan="2"><div align="center"><strong><font color="#FF0000">修改数据库表名称(AODX)</font></strong></div></td>
</tr>
<tr>
<td width="154" height="23">数据库路径:</td>
<td ><input name="PathName" type="text" id="PathName">
( 相对路径 )</td>
</tr>
<tr>
<td height="23">原数据表名称:</td>
<td ><input name="TableName" type="text" id="TableName" size="15" maxlength="255"> </td>
</tr>
<tr align="center">
<td height="25" align="left" ><p>新数据表名称:</p>
</td>
<td width="585" height="25" align="left"><input name="TableName1" type="text" id="TableName1" value="" size="15" maxlength="255"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="Submit" value="修改数据库表名称">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=FindTableColumnList" method="post" >
<tr>
<td height="30" colspan="2"><div align="center"><strong><font color="#FF0000">查询指定数据表所有字段(AODX)</font></strong></div></td>
</tr>
<tr>
<td width="154" height="23">数据库路径:</td>
<td ><input name="PathName" type="text" id="PathName">
( 相对路径 )</td>
</tr>
<tr>
<td height="23">数据表名称:</td>
<td ><input name="TableName" type="text" id="TableName" size="15" maxlength="255"> </td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="Submit" value="查询指定数据表所有字段">
</td>
</tr>
</form>
</table>
<%
'新建数据库
if request("act")="CreateDB" then
PathName=trim(request("PathName"))
DbVersion= trim(request("DbVersion"))
if PathName="" then
response.write("<script>alert('要压缩的数据库的路径不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call CreateDB(PathName,DbVersion)
end if
'压缩数据库
if request("act")="CompactDB" then
PathName=trim(request("PathName"))
DbVersion=trim(request("DbVersion"))
if PathName="" then
response.write("<script>alert('要压缩的数据库的路径不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call ComPactDB(PathName,DbVersion)
end if
'删除数据库
if request("act")="DeleteDB" then
PathName=trim(request("PathName"))
if PathName="" then
response.write("<script>alert('要压缩的数据库的路径不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call DeleteDB(PathName)
end if
' 查询所有数据表名称
if request("act")="FindTableList" then
PathName=trim(request("PathName"))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableList(PathName,TableListString)
end if
' 查询数据表名称
if request("act")="FindTableName" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
TableName1=cstr(trim(request("TableName1")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('原数据表名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName2(PathName,TableName)
end if
'更新数据表名称
if request("act")="AlterTableName" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
TableName1=cstr(trim(request("TableName1")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('原数据表名称不能为空!');history.back(1);</script>")
end if
if TableName1="" then
response.write("<script>alert('新数据表名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName(PathName,TableName)
Call FindTableName1(PathName,TableName1)
Call AlterTableName(PathName,TableName,TableName1)
end if
'删除数据表名称
if request("act")="DropTableName" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('要删除的数据表名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName(PathName,TableName)
Call DropTableName(PathName,TableName)
end if
'查询数据表字段
if request("act")="FindTableColumnList" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('要查询的数据表名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName(PathName,TableName)
Call FindTableColumnList(PathName,TableName)
end if
Sub CreateDB(PathName,DbVersion)
on error resume next
select case DbVersion
case "97"
DbVersion1 = "3.51"
case "2000"
DbVersion1 = "4.0"
end select
Set Cat = Server.CreateObject("ADOX.Catalog")
call Cat.Create("Provider=Microsoft.Jet.OLEDB." & DbVersion1 & ";Data Source=" & server.MapPath(PathName))
if err then
response.write("<script>alert('新建Access"&DbVersion&"数据库"&PathName&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('新建Access"&DbVersion&"数据库"&PathName&"操作成功,系统即将返回');history.go(-1);</script>")
response.End()
end if
End Sub
Sub FindPathName(PathName)
on error resume next
x=0
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.fileexists(server.MapPath(PathName))=true then
x=1
set fso=nothing
if err then
response.write("<script>alert('查找数据库"&PathName&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
if x=0 then
response.write("<script>alert('数据库"&PathName&"不存在,系统即将返回');history.go(-1);</script>")
response.End()
end if
end if
end if
End Sub
'查询指定名称的数据表,找到了继续,找不到返回
Sub FindTableName(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
rem x=0 表示不存在,x=1 表示存在
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
x=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
if rsSchema("TABLE_NAME")=tablename then
x=1
exit do
end if
end if
rsSchema.movenext
Loop
if x=0 then
response.write("<script>alert('数据表"&tablename&"不经存在,系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
'查询指定名称的数据表,找到了返回,找不到继续
Sub FindTableName1(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
rem x=0 表示不存在,x=1 表示存在
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
x=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
if rsSchema("TABLE_NAME")=tablename then
x=1
exit do
end if
end if
rsSchema.movenext
Loop
if x=1 then
response.write("<script>alert('新数据表"&tablename&"已经存在,系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
'查询指定的数据表
Sub FindTableName2(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
rem x=0 表示不存在,x=1 表示存在
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
x=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
if rsSchema("TABLE_NAME")=tablename then
x=1
exit do
end if
end if
rsSchema.movenext
Loop
if x=1 then
response.write("<script>alert('数据表"&tablename&"找到了,系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
else
response.write("<script>alert('找不到数据表"&tablename&",系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
'查询指定数据库中的所有数据表
Sub FindTableList(PathName,TableListString)
TableListString=""
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
rem x=0 表示不存在,x=1 表示存在
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
x=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
x=x+1
TableListString=TableListString&rsSchema("TABLE_NAME")&";"
end if
rsSchema.movenext
Loop
if x>0 then
response.write("<script>alert('找到了"&x&"个用户定义的数据表"&TableListString&"!,系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
else
response.write("<script>alert('找不到任何用户定义的数据表!系统即将返回');location.href='AlterDatabase.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
'删除数据库
Sub DeleteDB(PathName)
on error resume next
x=0
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.fileexists(server.MapPath(PathName))=true then
fso.deletefile(server.MapPath(PathName))
set fso=nothing
if err then
response.write("<script>alert('删除数据库"&PathName&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('删除数据库"&PathName&"成功,系统即将返回');history.go(-1);</script>")
response.End()
end if
end if
End Sub
'修改数据表名称
Sub AlterTableName(PathName,TableName,TableName1)
'Dim MyTable,MyField ,pro
On Error resume next
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set Conn=server.createobject("Adodb.connection")
Conn.open strConn
set mydb=server.createobject("adox.catalog")
set mytable=server.createobject("adox.table")
set myfield =server.createobject("adox.column")
MyDB.ActiveConnection =Conn
For Each MyTable In MyDB.Tables
if MyTable.Name=TableName then
MyTable.Name=TableName1
exit for
end if
Next
conn.close
set Conn=nothing
if err then
response.write("<script>alert('原数据表名称"&tablename&"修改成新数据表名称"&tablename1&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('原数据表名称"&tablename&"修改成新数据表名称"&tablename1&"成功!,系统即将返回');location.href='AlterDatabase.asp';</script>")
Response.end
end if
End Sub
'删除数据表名称
Sub DropTableName(PathName,TableName)
'Dim MyTable,MyField ,pro
On Error resume next
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set Conn=server.createobject("Adodb.connection")
Conn.open strConn
set mydb=server.createobject("adox.catalog")
set mytable=server.createobject("adox.table")
set myfield =server.createobject("adox.column")
MyDB.ActiveConnection =Conn
For Each MyTable In MyDB.Tables
if MyTable.Name=TableName then
MyDB.Tables.delete(TableName)
exit for
end if
Next
conn.close
set Conn=nothing
if err then
response.write("<script>alert('删除数据表"&tablename&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('删除数据表"&tablename&"成功!,系统即将返回');location.href='AlterDatabase.asp';</script>")
Response.end
end if
End Sub
Sub CompactDB(PathName, DbVersion)
on error resume next
strPathName = left(server.MapPath(PathName),instrrev(server.Mappath(PathName),"/"))
Set fso = CreateObject("Scripting.FileSystemObject")
Set Engine = CreateObject("JRO.JetEngine")
If DbVersion = 97 Then
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(PathName), _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPathName & "temp.mdb;" _
& "Jet OLEDB:Engine Type=" & 4
Else
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(PathName), _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPathName & "temp.mdb"
End If
fso.CopyFile strPathName & "temp.mdb",server.MapPath(PathName)
fso.DeleteFile(strPathName & "temp.mdb")
Set fso = nothing
Set Engine = nothing
if err then
response.write("<script>alert('压缩数据库"&server.MapPath(PathName)&"时发生错误,错误代码"&err.description&" ,即将返回');history.go(-1);</script>")
Response.end
else
response.write("<script>alert('压缩数据库"&server.MapPath(PathName)&"成功!,系统即将返回');location.href='AlterDatabase.asp';</script>")
Response.end
end if
end sub
Sub FindTableColumnList(PathName,TableName)
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.open ConnStr
Const adSchemaTables = 20
adSchemaColumns = 4
Set rstSchema = oConn.OpenSchema(adSchemaColumns)
response.write "<table border=1 align=center>"
response.write "<tr><td>Table name</td><td>field name</td><td>field type</td><td>is nullable</td><td>field size</td></tr>"
'tablename=""
Do Until rstSchema.EOF
if rstSchema("Table_name") =tablename then
response.write "<tr><td>"
response.write rstSchema("Table_name")
response.write "</td><td>"& rstschema("column_Name") & "</td><td>"
select case rstschema("data_type")
case 130
if rstschema("CHARACTER_MAXIMUM_LENGTH") = 1073741823 then
response.write "Memo"
else
response.write "Text"
end if
case 135
response.write "Date/Time"
case 3
response.write "Long Integer"
case 11
response.write "Yes/No"
case 131
response.write "Currency"
case else
response.write rstschema("data_type")
end select
response.write "</td><td>" & rstschema("is_nullable") & "</td><td>"
if rstschema("CHARACTER_MAXIMUM_LENGTH") <> 1073741823 then
response.write rstschema("CHARACTER_MAXIMUM_LENGTH")
else
response.write " "
end if
response.write "</td></tr>"
end if
rstSchema.MoveNext
Loop
response.write "</table>"
response.Write("<div align=center><a href='javascript:history.go(-1);' >点这里返回</a></div>")
response.End()
end sub
%>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=CreateDB" method="post" >
<tr>
<td height="35" colspan="2"><div align="center"><font size="4"><strong><font color="#FF0000">新建数据库(ASO+ADOX)</font></strong></font></div></td>
</tr>
<tr>
<td width="153" height="35">数据库库路径:</td>
<td width="586" height="35"><input name="PathName" type="text" id="PathName"> </td>
</tr>
<tr>
<td height="35">Access数据库格式</td>
<td height="35"><input name="DbVersion" type="radio" value="2000" checked>
Access 2000 <input name="DbVersion" type="radio" value="97">
Access 97</td>
</tr>
<tr align="center">
<td height="35" colspan="2"><input name="submit1" type="submit" id="submit1" value="新建数据库">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=DeleteDB" method="post" >
<tr>
<td height="35" colspan="2"><div align="center"><font size="4"><strong><font color="#FF0000">删除数据库(FSO)</font></strong></font></div></td>
</tr>
<tr>
<td width="153" height="35">数据库库路径:</td>
<td width="586" height="35"><input name="PathName" type="text" id="PathName"> </td>
</tr>
<tr align="center">
<td height="35" colspan="2"><input name="submit1" type="submit" id="submit1" value="删除数据库">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=CompactDB" method="post" >
<tr>
<td height="35" colspan="2"><div align="center"><font size="4"><strong><font color="#FF0000">压缩数据库(ASO+JRO)</font></strong></font></div></td>
</tr>
<tr>
<td width="153" height="35">数据库库路径:</td>
<td width="586" height="35"><input name="PathName" type="text" id="PathName"> </td>
</tr>
<tr>
<td height="35">Access数据库格式</td>
<td height="35"><input name="DbVersion" type="radio" value="2000" checked>
Access 2000 <input name="DbVersion" type="radio" value="97">
Access 97</td>
</tr>
<tr align="center">
<td height="35" colspan="2"><input name="submit1" type="submit" id="submit1" value="开始压缩数据库">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=FindTableList" method="post" >
<tr>
<td height="35" colspan="2"><div align="center"><font size="4"><strong><font color="#FF0000">查询所有数据库中的所有表(FSO+ADOX)</font></strong></font></div></td>
</tr>
<tr>
<td width="153" height="35">数据库库路径:</td>
<td width="586" height="35"><input name="PathName" type="text" id="PathName"> </td>
</tr>
<tr align="center">
<td height="35" colspan="2"><input name="submit1" type="submit" id="submit1" value="查询所有数据库中的所有表">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=FindTableName" method="post" >
<tr>
<td height="30" colspan="2"><div align="center"><strong><font color="#FF0000">查询指定数据表名称(AODX)</font></strong></div></td>
</tr>
<tr>
<td width="154" height="23">数据库路径:</td>
<td ><input name="PathName" type="text" id="PathName">
( 相对路径 )</td>
</tr>
<tr>
<td height="23">数据表名称:</td>
<td ><input name="TableName" type="text" id="TableName" size="15" maxlength="255"> </td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="Submit" value="查询指定数据表名称">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=AlterTableName" method="post" >
<tr>
<td height="30" colspan="2"><div align="center"><strong><font color="#FF0000">修改数据库表名称(AODX)</font></strong></div></td>
</tr>
<tr>
<td width="154" height="23">数据库路径:</td>
<td ><input name="PathName" type="text" id="PathName">
( 相对路径 )</td>
</tr>
<tr>
<td height="23">原数据表名称:</td>
<td ><input name="TableName" type="text" id="TableName" size="15" maxlength="255"> </td>
</tr>
<tr align="center">
<td height="25" align="left" ><p>新数据表名称:</p>
</td>
<td width="585" height="25" align="left"><input name="TableName1" type="text" id="TableName1" value="" size="15" maxlength="255"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="Submit" value="修改数据库表名称">
</td>
</tr>
</form>
</table>
<br>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form action="?act=FindTableColumnList" method="post" >
<tr>
<td height="30" colspan="2"><div align="center"><strong><font color="#FF0000">查询指定数据表所有字段(AODX)</font></strong></div></td>
</tr>
<tr>
<td width="154" height="23">数据库路径:</td>
<td ><input name="PathName" type="text" id="PathName">
( 相对路径 )</td>
</tr>
<tr>
<td height="23">数据表名称:</td>
<td ><input name="TableName" type="text" id="TableName" size="15" maxlength="255"> </td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="Submit" value="查询指定数据表所有字段">
</td>
</tr>
</form>
</table>
相关推荐
Access数据库MDB数据文件导入Oracle数据库操作步骤 Access数据库MDB数据文件导入Oracle数据库操作步骤是指将Access数据库中的MDB数据文件导入到Oracle数据库中,以便更好地存储和管理数据。这种操作需要使用ODBC...
在提供的压缩包中,有一个名为"ucanaccess-2.0.9.2.jar"的文件,这是UCanAccess驱动,它是一个开源的Java库,允许Java应用程序直接操作.MDB和.ACCDB格式的Access数据库,而无需安装任何Microsoft软件。要使用这个...
在本场景中,我们关注的是如何使用C#操作Microsoft Access数据库(通常以.MDB文件格式存储)。Access数据库是一个关系型数据库管理系统,适用于小型到中型企业,提供了数据存储和管理的能力。下面将详细阐述如何使用...
标签“mdb”、“mdb转换”、“mdb转换txt”和“文件mdb改成txt”明确了我们要讨论的是关于mdb文件的转换操作,特别是将其转换为TXT格式。 在提供的压缩包文件中,我们可以看到以下文件: 1. CStopWatch.cls:这可能...
在描述中提到的“可以查看mdb数据文件,很好用滴!!方便你我他!”意味着这款软件设计得用户友好,能够便捷地浏览和分析mdb文件内容,这对于那些没有安装完整版Microsoft Access或者需要快速查看数据库信息的用户来...
在本实例中,我们将讨论如何利用VB(Visual Basic)来实现CSV文件中的淘宝订单数据导入到MDB数据库的过程。 首先,理解CSV文件的结构至关重要。CSV文件以文本形式存储数据,每一行代表一条记录,每条记录由若干字段...
mdb文件是Microsoft Access数据库文件的格式,主要用于存储和管理数据。如果你需要解析mdb文件,有三种常见方法,这里将详细讲解这些方法,并结合提供的压缩包文件进行解释。 1. **使用Microsoft Access** ...
【标题解析】 ...在实际操作中,确保备份现有数据、遵循正确的文件替换步骤以及及时联系技术支持都是至关重要的。同时,这也提醒我们在维护IT系统时要定期更新和检查关键组件,以预防此类问题的发生。
6. **导入导出**:可能支持将mdb数据导入其他格式(如CSV、Excel),或将外部数据导出到mdb文件中。 7. **安全性管理**:可能提供密码保护和权限设置,以控制对mdb文件的访问。 8. **报表和窗体设计**:尽管是一款轻...
如果你选择使用JDBC-ODBC桥接器,你需要创建一个ODBC数据源来指向mdb文件。在Windows系统上,可以通过控制面板的“管理工具”>“ODBC数据源管理员”来完成。对于Jackcess,你可以通过Maven或Gradle将库添加到项目...
在Microsoft Access中,mdb是数据库文件的扩展名,它基于Jet数据库引擎,适用于存储和管理中小规模的数据。这个程序展示了如何通过VC++进行数据库的读取、修改和删除操作。 首先,VC++提供了多种方式来与数据库交互...
这时,我们需要进行MDB文件的还原操作来恢复数据。以下是几种常见的恢复方法: 1. **备份恢复**:首先,预防胜于治疗。定期备份数据库是最基本的恢复策略。如果你有最新的数据库备份,只需简单地替换损坏的MDB文件...
MDB是微软Access数据库的文件格式,常用于存储小型到中型的数据。 描述中提到,“源码有服务端和客户端”,这表明该资源包括两个部分:服务端程序和客户端程序。服务端通常负责处理数据的存储、更新和检索,而...
综上所述,"MDBViewer mdb文件查看器"是一款专为查看和理解mdb数据库文件而设计的独立工具,尤其适合那些不希望安装完整Access但需要访问mdb数据的用户。其汉化版2.08版提供了一个友好的中文界面,方便中国用户使用...
MDB是Microsoft Access的默认数据库文件格式,主要用于存储结构化数据,包括表格、查询、报告、宏和模块等。这种工具通常具备多种功能,帮助用户进行数据库管理、数据分析和开发。 描述中提到的功能表明,这个Mdb...
- **数据类型匹配**:确保MDB文件中的数据类型与Oracle数据库中的数据类型相匹配。 - **字段映射**:如果存在字段名称冲突或需要进行特殊处理的情况,需在导入前进行适当调整。 - **性能优化**:考虑到大量数据的...
在Java编程环境中,连接并操作Microsoft Access(MDB)文件是一个常见的任务,特别是在处理小型数据库或进行数据迁移时。本文将详细介绍如何使用Java连接到Access的MDB文件,并执行基本的读写操作。 首先,要实现这...
在实际操作中,我们可以使用以下步骤来将 MDB 文件转换为 EXCEL 文件: 1. 打开 Access 数据库软件,并选择“文件”菜单下的“获取外部数据”中的“导入...”。 2. 在打开的“导入”窗口内,选择“Microsoft Excel...