求助,有没有可以添加又可以更新数据库

xzf888 2009-05-23 04:12:20
在我下面的代码中,是记录来访者的IP和日期,同一个IP每天来一次就每天记录一条,这样的话数据库时间不久会很大,那么有没有办法在同一个IP时添加一条记录,而是更新存在同IP的记录,如果可以,该如何修复下面的代码?
<%
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") '捕获代理IP
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")

dim userip,url,data,news_id
set rs = createobject("adodb.recordset")
sql = "select * FROM userip where ip='"& userip &"' and datediff('d', data, date())=0 "' and news_id='"&news_id&"'"
rs.cursorLocation = 3
rs.open sql,conn,1,3
if rs.eof and rs.bof then
rs.addnew
rs("ip")=userip
rs("url")=url
rs("count")=1
rs("data")=date()
rs.update
end if
if rs.state <> 0 then rs.close
set rs = nothing
conn.close
set conn = nothing
%>
...全文
58 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hondyboy 2009-05-23
  • 打赏
  • 举报
回复
今天开始学asp,请各位多多指教
xzf888 2009-05-23
  • 打赏
  • 举报
回复
又出问题了, 我在数据库字段data修改了一下日期,测试了一下,也会添加一条记录,而不是更新记录,我想要的是只要IP相同只更新日期而不添加一条记录并count字段同一IP一天内只加1,那么我可以再在这个userip表下建一个访问页面记录的字段,这样就可以得到一天有多少人数来过, 游览了多少个页面,
hookee 2009-05-23
  • 打赏
  • 举报
回复
简单点的话,多加一个表用以记录某你news_id的ip,今天是否记录过,
记录前先查该表,如果有记录,则bLogged = True

If Not Logged Then rs("count") = rs("count").value + 1
xzf888 2009-05-23
  • 打赏
  • 举报
回复
谢谢hookee ,3楼的可以用了,不过count记来访次数不防刷新,刷新一次加一,这样来防刷新呢,
hookee 2009-05-23
  • 打赏
  • 举报
回复
如果news_id的类型为数字 则
sql = "select * FROM userip where ip='"& userip &"' and datediff('d', data, date())=0 and news_id=" & news_id

<% 
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") '捕获代理IP
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")

dim userip,url,data,news_id
set rs = createobject("adodb.recordset")
sql = "select * FROM userip where ip='"& userip &"' and datediff('d', data, date())=0 and news_id='" & news_id & "'"
rs.cursorLocation = 3
rs.open sql,conn,1,3
if rs.eof and rs.bof then
rs.addnew
rs("count") = 1
elser
rs("count") = rs("count").value + 1
end if
rs("ip") = userip
rs("url") = url
rs("data") = date()
rs.update
if rs.state <> 0 then rs.close
set rs = nothing
conn.close
set conn = nothing
%>
  • 打赏
  • 举报
回复
<% 
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") '捕获代理IP
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")

dim userip,url,data,news_id
set rs = createobject("adodb.recordset")
sql = "select * FROM userip where ip='"& userip &"' and datediff('d', data, date())=0 "' and news_id='"&news_id&"'"
rs.cursorLocation = 3
rs.open sql,conn,1,3
if rs.eof and rs.bof then
rs.addnew
end if
rs("ip")=userip
rs("url")=url
rs("count")=rs("count")+1
rs("data")=date()
rs.update
if rs.state <> 0 then rs.close
set rs = nothing
conn.close
set conn = nothing
%>
  • 打赏
  • 举报
回复
<% 
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") '捕获代理IP
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")

dim userip,url,data,news_id
set rs = createobject("adodb.recordset")
sql = "select * FROM userip where ip='"& userip &"' and datediff('d', data, date())=0 "' and news_id='"&news_id&"'"
rs.cursorLocation = 3
rs.open sql,conn,1,3
if rs.eof and rs.bof then
rs.addnew
end if
rs("ip")=userip
rs("url")=url
rs("count")=1
rs("data")=date()
rs.update
if rs.state <> 0 then rs.close
set rs = nothing
conn.close
set conn = nothing
%>

28,391

社区成员

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

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