女神联盟2上阵6人:ASP:只可显示第一条记录,问题在哪里?花少许时间,分析该小段代码...

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/05 15:03:52
ASP:只可显示第一条记录,问题在哪里?花少许时间,分析该小段代码...

为什么这样做?
用户注册后,可以得到一个属于自己的网页。以前打算是为用户制作好框架,剩余内容就由用户通过自己来补充。
估计,有些用户不会制作;我可以在用户注册后,直接把代码写入该表框的数据库中,用户网站前面显示的就不再是框架,而是一个完整漂亮的网页;但是,也会有多用户注册后不再使用,这样就占用了很多空间
考虑之后,便这样做:
在网页设计时,用
IF 条件 THEN
语句块
else
语句
end if
来实现,可是运行后,只实现了一部分;即:只有数据库的第一条记录可以实现该命令,其他用户记录就不显示了
详细代码如下:
(说明:diytj是在后台填写内容后,前台网页显示的“字段”)
<tr>
<td>
< %if rs("diytj")="" then%>用户注册后,如果 没在自己的系统中填写任何内容;
就显示 我制作的内容;纯粹文字,没表格的
< %else%>
< %=trim(rs("diytj"))%> '如该字段不是空时,就显示用户自己写入 该字段的内容
< %end if%>
</td>
</tr>

再说明:rs是在另外一.asp文件夹中定义的;但在本代码开始部分有调用的。rs详细代码如下
< %dim id
id=request.QueryString("id")
set rs=server.CreateObject("adodb.recordset")
strshjia="select * from shjia where username='"&id&"'" 'username就是用户ID的字段(想问:这里的username已经指向网址中的该id的记录了,为什么还只是第一条记录可以显示我制作的内容,其他记录就不会显示呢?)
rs.open strshjia,conn,1,3

if rs.bof and rs.eof then
response.write"<script>alert(""非法访问!"");location.href=""../index.asp"";</script>"
else
rs("count") = rs("count") + 1 '这个是统计流量的,不用管了
rs_shjia.Update
end if
%>

现在运行后,只有数据库中的第一条记录可以完整显示该功能。即:diytj字段中不输入内容,就显示我制作的内容;输入内容,就显示输入的内容
但是其他记录的 用户注册后,该网页上显示空白。
请大家帮忙分析一下该代码是哪里的问题?谢谢(系统:asp代码、access数据库)

附:哪位好心朋友可以给个限时注册的详细代码啊?就24小时该IP只可以注册一次为例吧

.
.

网址格式为/?id=用户名 '(username)
username字段是“文本”格式,用户注册时,自己所填写的用户名
另外,shID作为记录标识,是自动编号格式的

.

注册成功后写入Cookies
Response.Cookies("IsReg")=1 '是否注册
Response.Cookies("IsReg").Expires=date+24 '过期时间

然后再注册过程中加入判断COOKIES值就OK了

我用ASP快三年了,初学ASP的时候,遇到过类似的问题.

解决问题的时候发现自己很可笑.

因为第一条记录是我测试用,手工添加的,所以全部字段都符合逻辑,很规范,没有问题.

但后面的记录是程序生成的,而我的程序有点问题,导致生成的记录有毛病,错误就这样产生了.

希望你不是犯了这个毛病.

很奇怪你为什么发生这个问题,我很感兴趣.你有时间而且愿意并相信我的话可以来加我qq137516,注明"百度知道",我可以帮你远程协助分析并解决问题:)

strshjia="select * from shjia where username='"&id&"'" 不知你的username字段是什么数据格式,一般在数据库中是ID作为记录标识的,并且是自动编号格式,如果你的username字段也是,将strshjia="select * from shjia where username='"&id&"'"修改为:strshjia="select * from shjia where username="&id&""

这代码所放的页面有没有问题, Source = "SELECT * FROM car WHERE ID =
" + ReplaceRecordset1__MMColParam, "'", "''") + "" '参考一下

你有没有用上循环让它读出数据记录呀