请教:ASP+ACC 字段内多内容的追加操作,用;号隔开

kiiir00t 2009-06-20 08:46:46
环境:ASP + ACCESS

前提:表“Article”中的一条文章记录,其中一个字段“Reader”专门用于记录已阅者账号,账号间用“;”间隔开来,像这个样子“张三;李四;王二麻子;”

问题:
1、当有个新读者阅读后,Reader字段如何进行账号追加?
2、如果该读者已经阅读这篇文章,那么则显示“已阅”。如何进行对比判断?

3、一般追加和对比判断就够用了。额外再咨询一下涉及到得其他操作如何进行呢,比如修改、删除其中一个账号记录等。

在此谢过先。
...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kiiir00t 2009-06-21
  • 打赏
  • 举报
回复
现在代码是这样的,应该怎么处理呢? 我试过2楼的办法,好像没效果呢 是不是乱码造成的?
<!--#include file="conn.asp"-->
<%
exec="select * from bbb where uid="&request("uid")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
rs("Reader")=session("name")
rs.update
%>

<%
response.Write"<script>alert('阅读者信息增加成功!');this.location.href='index.asp';</SCRIPT>"
%>
haiyun365 2009-06-20
  • 打赏
  • 举报
回复
或者 百度一下 inStr 这个函数
haiyun365 2009-06-20
  • 打赏
  • 举报
回复
环境:ASP + ACCESS

前提:表“Article”中的一条文章记录,其中一个字段“Reader”专门用于记录已阅者账号,账号间用“;”间隔开来,像这个样子“张三;李四;王二麻子;”

问题:
1、当有个新读者阅读后,Reader字段如何进行账号追加?

update [Article] set [Reader] = Reader&;&&"&session("Reader")&" where Id="&request("ID")&"

2、如果该读者已经阅读这篇文章,那么则显示“已阅”。如何进行对比判断?

可以利用函数spilt 该数组,判断这个人是否存在这个数组里面,然后判断是否阅读

或者用另外一个表Isread记录 是否读取的记录 字段为 ID GID Reader
自动编号 新闻编号 读取人员,读取文章的时候 用select count(*) from ISread where Gid='"&request("Id")&"' and GiD='"&request("Gid")&"' and Reader='"&session("Reader")&"' 如果 count<>0 就 阅读了

3、一般追加和对比判断就够用了。额外再咨询一下涉及到得其他操作如何进行呢,比如修改、删除其中一个账号记录等。

删除、修改的话 也用update语句 也是一样

删除 用 replace 语句替换掉这个数组里面的记录然后 update
修改 也是一样



模糊查询不可采用
v轻扬v 2009-06-20
  • 打赏
  • 举报
回复
access估计不能使用正则表达式,没试过,但使用模糊查询可以达到你的目的:
假如你的条件是 给定了变量:文章id,和一个读者名:username。判断username是否已阅读过id号的文章。

sql="select id from article where id="$id&" and (reader like '%;"&username&";%' or reader like '"&username&";%')"

找到了就是已阅,未找到就是未阅

28,406

社区成员

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

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