asp 中select 值 重复问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:27:46
两个表,主表中personinf有一字段:deptid,从表dept 两字段 id ,dept
当 deptid等于dept中id 时,显示 dept
例:
personinf 中; dept中:

deptid id dept
2 2 生产部
3 3 行政部
5 5 人事部

我的语句如下:
<% set conn=opendb("oabusy","conn","accessdsn")
Set rs1= Server.CreateObject("ADODB.Recordset")
strSql="select * from dept where id="&rs("deptid")
rs1.open strSql,Conn,1,1
%>
<%do while not (rs.eof or rs.bof) %>
<option value="<%=rs("dept")%>" selected>
<%=rs1("dept")&rs("deptid")%>
</option>
<%
rs.movenext
loop
%>
按道理,select下拉框显示的是 :
生产部2
行政部3
人事部5
(可以正常使

其实你完全可以同时查询2个表,用一次查询得到:
select * from personinf,dept where personinf.deptid=dept.id order by dept.deptid desc

如果你只是想根据dept表写出一个下拉框的话,只要[从表]就够了:
select * from dept order by id desc

把循环里面的rs改成rs1
<%do while not (rs1.eof or rs1.bof) %>
<option value="<%=rs1("dept")%>" selected>
<%=rs1("dept")&rs1("deptid")%>
</option>
<%
rs1.movenext
loop
%>

'不细心

你的部门表的值需要加上一个标识,要不查询出来肯定都是一样的了