最新文章
·一个漂亮的互动式下拉...
·用ASP实现号码转换
·数据库连接
·企业级N Tier体系结构...
·XML的简单读取与写入
·怎样做自己的二级域名...
·以前收集的一些资料--...
·vb获得一页的html代码...
·ADO事件之(6)---InfoM...
·Translate: f ,IIS 5...
·使用表单集合建立SQL...
·ASP 3.0 新特色先睹为...
相关文章
·asp常用函数
·网页计数器的程序:.....
·如何避免asp的SQL的执...
·一个不是很通用的数据...
·关于缓存类的使用,及...
·在ASP中使用类
·SQL--JOIN之完全用法
·使用Windows DNA 设计...
·asp实现在web中显示电...
·关于打印页面的一些经...
·使用组件搜索
·用ASP+XML打造留言本
推荐文章
·Asp:base64编码、解码...
·在ASP+中使用Cookie
·怎样才能将query stri...
·温柔杀手-跨站Script...
·我在桌面上删帖子
·动感首页更新实现之八...
·FrontPage创建HTML/A...
·域名专题 - 谈谈DNS在...
·asp实现在web中显示电...
·正则表达式中的特殊字...
·优化ASP程序
·asp调用存储过程
  您现在的位置: 休闲居 >> 网络学院 >> 网络编程 >> ASP >> 

不刷新页面筛选数据库中的数据
  人气: 【字体:大 中 小】
  发布时间:2006-12-20 08:50:55

  我在作asp程序时经常遇到这种情况:
  将数据库中的数据(如所有雇员名)列在列表框中,程序要求进行选择其中一项或多项提交到下一个页面。
  但麻烦的是如果数据(如雇员)过多,会给客户的选择带来麻烦--要从很长的列表中进行数据定位。最好的解决方法是用户在选择前采用模糊查询的方式进行数据定位,准确找出需要选择的雇员名,再选择、提交。
  问题出现在我们程序员面前:如何不刷新页面筛选从数据库中筛选数据。本人的方法有两种: 休 闲 居编 辑
  1、采用双列表框的方法
  2、采用XML方法
  本文主要介绍第一种方法:采用双列表框的方法
  编程思想:
  采用双列表框,其中一个为隐藏状态,另一个是显示给用户看的列表框。
  程序开始将数据(如雇员姓名)分别装进两个列表框中,当用户需要筛选雇员时首先将显示列表框清空,再更据筛选条件将数据从隐藏列表框装入显示列表框中。
  这样即可实现不刷新页面筛选数据库中的内容。
  实现:
  下面以SQL SERVER为例,筛选NorthWind库中Employees表的雇员名进行说明。


<html>
<head>
<title>不刷新页面查询的方法</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<script language="javascript">
function search_onclick(){
//得到筛选雇员的名字
searchtext=window.searchContent.value;

//首先移除在所有查询结果列表中的选项
j=searchObj.length ;
for (i = j-1; i>=0; i--)
{
searchObj.remove(i);
}
if(searchtext!=""){
//显示符合筛选条件的雇员
j=searchSource.length;
for(i=0;i<j;i++){
searchsource=searchSource.options(i).text;
k=searchsource.indexOf(searchtext);
if(k!=-1){
option1=document.createElement("option");
option1.text=searchsource;
option1.value=searchSource.options(i).value;
searchObj.add(option1);
}
}
}
else{
//如果没有输入查询条件则显示所有雇员
j=searchSource.length;
for(i=0;i<j;i++){
searchsource=searchSource.options(i).text;
option1=document.createElement("option");
option1.text=searchsource;
option1.value=searchSource.options(i).value;
searchObj.add(option1);
}
   }
}

</script>
<body bgcolor="#FFFFFF" text="#000000">
<%
servername="wyb" '服务器名
user="sa" '用户名
pw="" '用户密码
databasename="northwind" '数据库名
set conn=server.CreateObject("adodb.connection")
conn.Open "DRIVER=SQL Server;SERVER="&servername&";UID="&user&";pwd="&pw&";DATABASE="&databasename
set rs=server.CreateObject("adodb.recordset")
sql="Select employeeid,lastname from employees order by employeeid"
rs.Open sql,conn%>
<table width="80%" border="1">
<tr>
<td>
<input type="text" name="searchContent">
<input type="button" name="Button" value="查询" onclick="javascript:return search_onclick()">
</td>
</tr>
<tr>
<td> 查询结果<br>
<select name="searchObj" size="10">
<%do while not rs.eof%>
<option value="<%=rs("employeeid")%>"><%=rs("lastname")%></option>
<%rs.movenext
loop
%>
</select>
<select name="searchSource" size="10" style="display:none">
<%
rs.movefirst
do while not rs.eof%>
<option value="<%=rs("employeeid")%>"><%=rs("lastname")%></option>
<%rs.movenext
loop
%>
</select>
</td>
</tr>
</table>
<%rs.close
set rs=nothing
%>
</body>
</html>

≡ 查看、发表评论 ≡