asp查询Access数据库(已经测试过)

1、要查询的数据库名称:data.mdb
数据库中表为:data
数据库表data的字段有:title、about
由于无数据添加页面,所以在数据库各字段中应添加数据,方便查询演示。

2、数据库打开文件conn.asp:
 

ASP/Visual Basic代码
  1. <%    
  2. Server.scriptTimeout="10"    
  3. connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"    
  4. set conn=Server.CreateObject("ADODB.connection")    
  5. conn.open connstr    
  6. %>  

3、查询文件search.asp:
 

ASP/Visual Basic代码
  1. <!--#include file="conn.asp"-->   
  2. <form name="frm_Search" method="get" action="Search.asp">   
  3.         请输入关键字:    
  4.         <input type="text" name="key" size="10">   
  5.         <input type="submit" value="搜索">   
  6. </form>   
  7.      <%   
  8.      Dim S_Key,RST,StrSQL   
  9.          S_Key = Trim(Request("key"))    '得到搜索关键字的值   
  10.          If S_Key <>"" then    
  11.              Set RST=Server.CreateObject("ADODB.RecordSet")   
  12.              StrSQL=AutoKey(S_Key)   '此处使用自定义函数 AutoKey(),该函数为实现智能搜索的核心   
  13.              RST.Open StrSQL,conn,3,2   '得到搜索后的记录   
  14.      
  15.              If RST.BOF And RST.EOF Then   
  16.      %>   
  17.                  <font color="#FF0000">Sorry,未找到任何结果!</font>    
  18.      <%   
  19.                  Else   
  20.      %>   
  21.                      搜索名称为“<font color="#FF0000"><%= S_Key %></font>”的项,共找到 <font color="#FF0000"><%= RST.RecordCount %></font> 项:<p>   
  22.      <%   
  23.                      While Not RST.EOF   
  24.      %>   
  25.                          <!-- 此处可设为你所需要的链接目标 -->   
  26.                          <font style="font: 12pt 宋体"><a href="show.asp?ID=<%= RST("ID") %>" target="_blank"><%= RST("title") %></a></font><br>     
  27.                          <!-- 显示部分详细内容 -->   
  28.                          <font style="font: 9pt 宋体"><%= Left(RST("about"),150) %></font><p>     
  29.      <%   
  30.                          RST.MoveNext   
  31.                      Wend   
  32.                      RST.Close   
  33.                      Set RST=Nothing   
  34.              End If   
  35.          End If   
  36.      %>     <%   
  37.      Function AutoKey(strKey)   
  38.          CONST lngSubKey=2   
  39.          Dim lngLenKey, strNew1, strNew2, i, strSubKey   
  40.   
  41.          '检测字符串的合法性,若不合法则转到出错页。出错页你可以根据需要进行设定。   
  42.          if InStr(strKey,"=")<>0 or InStr(strKey,"`")<>0 or InStr(strKey,"'")<>0 or InStr(strKey," ")<>0 or InStr(strKey," ")<>0 or InStr(strKey,"'")<>0 or InStr(strKey,chr(34))<>0 or InStr(strKey,"\")<>0 or InStr(strKey,",")<>0 or InStr(strKey,"<")<>0 or InStr(strKey,">")<>0 then  
  43.              Response.Redirect "error.htm"  
  44.          End If  
  45.  
  46.          lngLenKey=Len(strKey)  
  47.          Select Case lngLenKey  
  48.              Case 0    '若为空串,转到出错页  
  49.                  Response.Redirect "error.htm"    
  50.              Case 1    '若长度为1,则不设任何值  
  51.                  strNew1=""  
  52.                  strNew2=""  
  53.              Case Else   '若长度大于1,则从字符串首字符开始,循环取长度为2的子字符串作为查询条件  
  54.                  For i=1 To lngLenKey-(lngSubKey-1)  
  55.                      strSubKey=Mid(strKey,i,lngSubKey)  
  56.                      strNew1=strNew1 & " or title like '%" & strSubKey & "%'"   
  57.                      strNew2=strNew2 & " or about like '%" & strSubKey & "%'"   
  58.                  Next   
  59.          End Select   
  60.   
  61.          '得到完整的SQL语句   
  62.          AutoKey="Select * from data where title like '%" & strKey & "%' or about like '%" & strKey & "%'" & strNew1 & strNew2   
  63.   
  64.      End Function   
  65.      %>   
  66.      <%   
  67.          conn.Close   
  68.          Set conn=Nothing   
  69.      %>  

4、查询后显示页面show.asp:
 

ASP/Visual Basic代码
  1. <!--#include file="conn.asp"-->    
  2. <%id=request.querystring("id")%>    
  3. <%set show=conn.execute("select*from data where id="&id&"")%>     
  4. <hr size="1">    
  5. <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="180">    
  6. <tr>    
  7. <td width="50%" height="22"><b>标题:</b><%=show("title")%></td>    
  8. <td width="50%" height="22"><b>关于:</b><%=show("about")%></td>    
  9. </tr>    
  10. </table>   
  11. <%set show=nothing%>  

5、检索出错文件error.htm
 

ASP/Visual Basic代码
  1. <html>   
  2. <head>   
  3. <title>   
  4. 出错啦!   
  5. </title>   
  6. </head>   
  7. <body>   
  8. <center>对不起,您要检索的信息字符串不合法则!<br>请<a href="javascript:history.back(1)">返回</a>重新检索!</center>   
  9. </body>   
  10. </html>  

说明:将以上文件和数据库放在同一目录下.也可以将数据库文件data.mdb放在其他文件夹,但注意修改conn.asp相应的数据库地址。



上一篇: 获取某个文件夹信息,并生成XML文件,按树形显示
下一篇: php连接informix
文章来自: 小小博客
引用通告: 查看所有引用 | 我要引用此文章
Tags: html asp
相关日志:
评论: 0 | 引用: 0 | 查看次数: 2240

:Ŷij ֽ Ͼ ֳ ϶ ֽIJ Ͼ Ͼֳ ӹ ֳ թ 򿪻 Ͷע Űټ Žɳ ˹ 21 365bet Žɳ Žɳַ ÷ ˹˹ ˹ַ ֽ IJ IJ IJ ij ţ hg0088 ϻ ϻϷ