| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 707 人关注过本帖
标题:[求助]按日期查询.......
只看楼主 加入收藏
hws888
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-11-17
收藏
 问题点数:0 回复次数:6 
[求助]按日期查询.......

这个是同IP段在同一天中只记录一次的,因为网上找的统计代码的花样太多,所以想自己写个简单点的,可是写到这就写不下去了,请各位老大指教.

按当前日期及已有数值(SIPThree)查询数据库,如果查询到则不做处理,如果没有查询到则将SIPThree的值写入IP字段中,请问该怎么写,最好给注译了哪一句是什么意思,谢谢

表结构:
表名addip
id IP       logtime
1 127.0.0    2006-08-08
2 192.168.1   2006-08-09




[此贴子已经被作者于2006-8-9 23:05:33编辑过]

搜索更多相关主题的帖子: 数据库 SIPThree 查询 字段 
2006-08-09 22:56
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
我假设你logtime字段是日期型的

SET conn=Server.CreateOjbect("Adobe.Connection")
conn.ConnectionString=.......
conn.Open

strSql="SELECT IP,logtime FROM addip WHERE IP='"&SIPThree&"' AND logtime="&cstr(int(now()))
SET rs=Server.CreateOjbect("Adodb.RecordSet")
rs.Open strSql,conn,adOpenStatic,adLockOptimistic,adCmdText

IF rs.bof or rs.eof THEN
    rs.AddNew
    rs("IP")=SIPThree
    rs("logtime")=int(now())
    rs.Update()
END IF

此处的关键是这个int(now()),int函数是取整函数,用在datetime类型上就是取日期值,舍弃时间值,即
int(2006-08-08 19:20:16)=2006-08-08

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-09 23:07
hws888
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-11-17
收藏
得分:0 
楼上的大哥谢谢你,用你的总提示我错误,改了好久都没搞定

现在是不论数据库内在同一天中有没有目前访问的者的IP都会新加上一条记录

假设目前的访问者IP是127.0.0,而查询得到数据库内当前日期表IP如果已经有127.0.0了,那就不再往里写东西了,如果当前日期没有这个访问者的IP,则把这个新的IP写入数据库

我把整页的代码都写上了,再帮我改改吧,

<!--#include file="conn.asp"-->
<%
'---------ip
dim mIPAddr,nIPNum,sIPOne,sIPTwo,sIPThree,strSql,rs,adOpenStatic,adLockOptimistic,adCmdText,IPThree,sql,logtime
mIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If mIPAddr = "" Then
mIPAddr = Request.ServerVariables("REMOTE_ADDR")
end if   


  nIPNum=Split(mIPAddr,".")   
  sIPOne=nIPNum(0)                                                             '首段   
  sIPTwo=nIPNum(0)&"."&nIPNum(1)                                 '前两段   
  sIPThree=nIPNum(0)&"."&nIPNum(1)&"."&nIPNum(2)'前三段   



strSql="SELECT IP,logtime FROM addip WHERE IP='"&SIPThree&"' AND logtime="&cstr(int(now()))
set rs=server.createobject("adodb.recordset")
rs.open strsql,conn,1,3
IF rs.bof or rs.eof THEN
    rs.AddNew
    rs("IP")=SIPThree
    rs("logtime")=int(now())
    rs.Update()
end if
   %>
2006-08-10 04:03
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 
IP地址无法用=号来查询,你可以试一下like

http://www./
2006-08-10 09:45
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
你数据库里,logtime是什么类型的?
IP字段呢?
另外,请写明下你那段代码出错的信息

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-10 18:09
ming206
Rank: 2
来 自:重庆
等 级:等待验证会员
威 望:3
帖 子:545
专家分:7
注 册:2005-8-2
收藏
得分:0 
无就insert
有就update

外贸综合平台:E贸通
2006-08-13 01:01
hws888
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2005-11-17
收藏
得分:0 
谢谢几位热心的老大,问题解决了.

IP用模糊查询就好用了.

我不会加分,只能说声谢谢了

[此贴子已经被作者于2006-8-16 12:21:53编辑过]

2006-08-16 12:18
快速回复:[求助]按日期查询.......
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022043 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved