真核细胞都有叶绿体吗:asp 中select 值 重复问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 11:08:33
两个表,主表中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
(可以正常使用)但是,select下拉框显示的是:
生产部2
生产部3
生产部5
虽然可以,正常按编号,2,3,5查询,但是部门的名称变成是一样的了。
有没有办法,改过来,就是和编号对应,正常显示:
生产部2
行政部3
人事部5
大家帮帮忙!!!
不是啊,有两个表,我上面还有一个主表: <%set conn=opendb("oabusy","conn","accessdsn")
set rs=server.createobject("adodb.recordset")
sql="select distinct dept from personinf order by dept desc"
rs.open sql,conn,1,1%>
这个循环是主表的,不是dept

给:Aleaf_com,首先要谢谢两位的回答,不过:Aleaf_com的
strSql="select * from dept where id="&sqlstr(dept)
strsql="select * from personinf,dept where personinf.dept=dept.id order by personinf.dept desc "这两条语句的意思是一样的,查询出来的结果还是和上面我说的一样,还会重复。除了ID不会,还有再说明一下,我是通过,要部门来查询,会员的记录,也就是说,查询某一部门时,下面会把该部门的所有会员显示出来

其实你完全可以同时查询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
%>

'不细心

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