一、下边的函数实现在ACCESS全库中搜索指定字符串:
<%
Function searchaccess(key,access)
Dim searchstr,searchstr2,conn,rs,rs2,sqlstr,t_count,table_name,i,j
Searchstr = key
Searchstr2 = ""
If searchstr ="" then
Searchaccess = searchaccess & "请输入搜索字符串!"
Exit function
End if
Searchaccess = searchaccess & "<b>搜索<font color=red>" & searchstr & "</font>结果:</b><br>"
On error resume next
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Connectionstring="provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath(access)
Conn.open
If err then
Searchaccess = searchaccess & "错误:找不到ACCESS数据库,请检查!"
err.clear
Response.End
End if
On error goto 0
T_count = 0
Set rs = Conn.openschema(20)
Do while not rs.eof
If rs("table_type")="TABLE" then
j = 0
T_count = T_count + 1
table_name = rs("table_name")
Sqlstr = "select * from " & table_name
Set rs2 = Server.CreateObject("ADODB.RecordSet")
Rs2.open sqlstr,conn,0,1
Do while not rs2.eof
j = j + 1
For i=0 to rs2.fields.count-1
If instr(rs2.fields(i).value,Searchstr)>0 then
searchstr2 = searchstr2 & "表:" & table_name & " 字段:" & rs2.fields(i).name & " 行:" & j & "<br>"
End if
Next
rs2.movenext
Loop
Rs2.close
Set rs2 = nothing
End if
Rs.movenext
Loop
If searchstr2 ="" then
Searchaccess = searchaccess & "Sorry,没有搜索到相关信息!"
Else
Searchaccess = searchaccess & searchstr2
End if
Searchaccess = searchaccess & "<p>"
Searchaccess = searchaccess & "<b>总计</b><font color=red>" & t_count & "</font><b>个表</b>"
Rs.close
Set rs = nothing
Conn.close
Set conn=nothing
End function
%>
二、返回结果示例:
搜索重新开一贴结果:
表:Dv_bbs1 字段:Topic 行:11
表:Dv_Board 字段:LastPost 行:1
表:Dv_Board 字段:LastPost 行:2
表:Dv_Topic 字段:Title 行:3
总计34个表
三、实例下载
本例结合"先锋无组件上传类(杜绝上传漏洞版) Ver2004"实现搜索指定数据库内容:点击下载
评论(0)
暂无评论。