急急急,下拉列表框的问题(高分请求解决方案)

sea_bear 2003-08-10 05:40:09
两个下拉列表框,关连住两个数据库里的表

表一结构:
地方ID 地方名
----------------------------------------------
1 北京
2 上海

表二结构:
图片ID 图片名 所属地方ID 图片
---------------------------------------------
1 a 1 IMAGE类型
2 b 2 同上
3 c 1 同上

目的就是逐步筛选记录了.(双下拉框关连).
我的实现思路如下:利用两个URL参数传递,URL值就是选择列表框后的ID值,然后发送出去它自己再接收回来,(发送跟接收是同一个表单)以此达到筛选目的.比如选定"北京"后,刷新表单,接下来就是在城市那里显示返回的值是:北京 然后依据ID=1,在表二中找出相应的记录来,所以这时候第二个下拉表框应该只显示"所属地方ID=1"的记录.选定的时候再刷新一次,返回"图片ID"导入图片.

下拉列表框的语句如下: (place为数据集)
<option value="<%=(place("PID").Value)%>"><%=(Place("PName").Value)%></option>
<%Place.MoveNext()
Wend
If (Place.CursorType >0) Then
Place.MoveFirst
Else
Place.Requery
End If
%>

当没有设立参数的时候(当成是插入操作了)下拉表框显示一切正常,可一但设立参数后,(初始默认值是1),不管你返回什么值,两个下拉表框里都只是显示关连表的第一个记录而且只有第一个.尽管实际参数已经传过来了(图片已显示出来),所以此时假如图片不合适,就没法更换了.请教各位,如何解决这种情况????????
...全文
26 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sea_bear 2003-08-10
  • 打赏
  • 举报
回复
请capnet(金山) 说清楚一点????啊尤其是省略号的地方.
...
ID=request('ID')
i=0
.....
while not rs.eof
i=i+1
if i=id then %>

前面怎么那么多语句话的???
我这就一句:while (not rs.eof )
然后就到 <option value=.... ..... .....> ... </option>
capnet 2003-08-10
  • 打赏
  • 举报
回复
这个你没用吧 -> SELECTED
--------------------------------------
...
ID=request('ID')
i=0
.....
while not rs.eof
i=i+1
if i=id then %>
<option value="<%...%>" SELECTED> '' <--这里
<%else%>
<option value="<%...%>">
<% end if
rs.movenext
Wend
...
sea_bear 2003-08-10
  • 打赏
  • 举报
回复
If (Place.CursorType >0) Then
Place.MoveFirst
Else
Place.Requery
End If

去掉这几段代码后结果也还是一样.

Place.Requery这个对象方法不能去掉,否则出错:错误类型:ADODB.Field (0x800A0BCD)
Requery 是数据集的一个方法.查书后知道其功能是:重新执行相同查询.

更正一点点错误,接收到参数后,显示的是该参数对应的名称,不是表中第一个记录.
比如:ID=1,那么下拉框就只显示:北京 ID=2, 显示:上海
怎么就不能显示完全部城市了呢????没设参数的时候就又可以??疑惑中
zorou_fatal 2003-08-10
  • 打赏
  • 举报
回复
If (Place.CursorType >0) Then
Place.MoveFirst
Else
Place.Requery
End If
你把这几句先注释掉看看。
sea_bear 2003-08-10
  • 打赏
  • 举报
回复
OK,
城市下拉列表参数接收:

<%
Dim rsPlaceID
rsPlaceID= "1"
If (Request.QueryString("Pid") <> "") Then
rsPlaceID = Request.QueryString("Pid")
End If
%>
一旦设立这接收参数后,下拉列表框里的就只有表中第一个记录了.没接受到参数如此,接收到参数值也如此,两个列表框都如此,只显示联系表的第一个记录,没得选了.但不同的图片已经传回来.

还有:在设立数据集时候,系统自己添加如下语句(我用的工具是DW MX)
Place.CursorType = 0
Place.CursorLocation = 2
Place.LockType =1
Place.Open()

我怀疑问题是出现在下拉列表框的语句(最上面那一段)和这代码上
zorou_fatal 2003-08-10
  • 打赏
  • 举报
回复
恩,把你接受时的sql语句写出来看看,是否是你预期的那样?

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧