主题:  这个问题怎么解决呀

nikers

职务:普通成员
等级:1
金币:0.0
发贴:68
#12006/7/2 13:56:45
现在有注册用户信息表userinfo(userid,name,password,add_time),用户发表的贴子信息表bbsinfo(userid,bbsid,title,content,add_time),其中两个表的USERID关联是一个字段,
现在我们在显示贴子index.asp的时候列表的时候通过贴子的BBSID传值到详细DISP.ASP,在那里里面我们显示传过来的BBSID值的贴子的具体内容,我们要在DISP.ASP里面还做个记录集(这个记录集用来显示当前发贴用户的其它所有贴子并显示出贴子标题),这个在DM8里面该怎么做呀。
是在通过BBSID字段传值到DISP.ASP的时候定义个变量得到USEID吗(例如fid=<%rs.userid%>? 然后在定义显示当卡用户所有发表的记录集的时候用WHERE USERID=fid吗?
我现在不明白的是详细显示页面DISP.ASP只得到了BBSID,怎么通过这个得到USERID那,然后在DM8里面怎么定义这个记录集,望各位指点

下面的记录集是通过BBSID传值产生的记录集rszs

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="../Connections/conn.asp" -->
<%
Dim rszs__MMColParam
rszs__MMColParam = "1"
If (Request.QueryString("bbsid" <> "" Then
rszs__MMColParam = Request.QueryString("bbsid"
End If
%>
<%
Dim rszs
Dim rszs_numRows
Set rszs = Server.CreateObject("ADODB.Recordset"
rszs.ActiveConnection = MM_conn_STRING
rszs.Source = "SELECT * FROM bbsinfo WHERE bbsid = " + Replace(rszs__MMColParam, "'", "''" + " ORDER BY addtime DESC"
rszs.CursorType = 0
rszs.CursorLocation = 2
rszs.LockType = 1
rszs.Open()
rszs_numRows = 0
%>

这个是我们想得到当前帖子发表人的userid的记录集,
把where cp_userid=fid去掉程序可以运行但是不能返回当前发贴人的所有帖子,
把where cp_userid=fid加上去提示错误类型:Microsoft JET Database Engine (0x80040E10)至少一个参数没有被指定值。
把where cp_userid=fid改为where cp_userid=‘fid’提示错误错误类型:ADODB.Field (0x800A0BCD)BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的
操作要求一个当前的记录。

改怎么写代码才能把记录集rs里面的记录返回是当前帖子发表人的所有其它帖子那,望各位帮忙看下

用<%=fid%>能显示出这个变量的值,怎么在SQL查询里面就不行了,望各位救命,怎么把fid当作查询的参数值就不行那

<%
Dim rs
Dim rs_numRows
fid=rszs("userid"
Set rs = Server.CreateObject("ADODB.Recordset"
rs.ActiveConnection = MM_conn_STRING
rs.Source = "SELECT * FROM bbsinfo where cp_userid=fid "
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()
rs_numRows = 0
%>

编辑历史:[此帖最近一次被 nikers 编辑过(编辑时间:2006-07-02 14:07:29)]