ADO 查询数据


我们可以使用 SQL 创建查询来仅指定要查看的记录(和字段)的选择。


显示选定的数据

显示以 "A" 开头的公司

在这里,我们只想显示 "Customers" 表中具有以 "A" 开头的 "Companyname" 的记录(请记住使用 .html 扩展名保存文件):

<html>
<body>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")
sql="SELECT Companyname, Contactname FROM Customers WHERE CompanyName LIKE 'A%'"
rs.Open sql, conn
%>

<table border="1" width="100%">
  <tr>
  <%for each x in rs.Fields
    response.write("<th>" & x.name & "</th>")
  next%>
  </tr>
  <%do until rs.EOF%>
    <tr>
    <%for each x in rs.Fields%>
      <td><%Response.Write(x.value)%></td>
    <%next
    rs.MoveNext%>
    </tr>
  <%loop
  rs.close
  conn.close%>
</table>

</body>
</html>

来自西班牙的展示客户

这里我们只想显示来自西班牙的客户(记住使用 .html 扩展名保存文件):

<html>
<body>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")
sql="SELECT Companyname, Contactname FROM Customers WHERE Country='Spain'"
rs.Open sql, conn
%>

<table border="1" width="100%">
<tr>
<%for each x in rs.Fields
  response.write("<th>" & x.name & "</th>")
next%>
</tr>
<%do until rs.EOF%>
  <tr>
  <%for each x in rs.Fields%>
    <td><%Response.Write(x.value)%> </td>
  <%next
  rs.MoveNext%>
  </tr>
<%loop
rs.close
conn.close
%>
</table>

</body>
</html>

为用户创建过滤器

在这里,我们要创建一个过滤器,并让用户选择要显示来自哪个国家/地区的客户(请记住使用 .html 扩展名保存文件):

<html>
<body>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")
sql="SELECT DISTINCT Country FROM Customers ORDER BY Country"
rs.Open sql, conn

country=request.form("country")
%>

<form method="post">
Choose Country <select name="country">
<% do until rs.EOF
  response.write("<option")
  if rs.fields("country")=country then
    response.write(" selected")
  end if
  response.write(">")
  response.write(rs.fields("Country"))
  rs.MoveNext
loop
rs.Close
set rs=Nothing %>
</select>
<input type="submit" value="Show customers">
</form>

<%
if country<>"" then
  sql="SELECT Companyname,Contactname,Country FROM Customers WHERE country='" & country & "'"
  set rs=Server.CreateObject("ADODB.Recordset")
  rs.Open sql,conn
%>

<table width="100%" cellspacing="0" cellpadding="2" border="1">
<tr>
  <th>Companyname</th>
  <th>Contactname</th>
  <th>Country</th>
</tr>

<%
do until rs.EOF
  response.write("<tr>")
  response.write("<td>" & rs.fields("companyname") & "</td>")
  response.write("<td>" & rs.fields("contactname") & "</td>")
  response.write("<td>" & rs.fields("country") & "</td>")
  response.write("</tr>")
  rs.MoveNext
loop
rs.close
conn.Close
set rs=Nothing
set conn=Nothing%>
</table>
<% end if %>

</body>
</html>