<%
dim conn,db,rs,sql
dim ip,jcip,jcrs,jcsql,jcconn
db="ip2009.mdb" '这个是数据库路径
ip=request.ServerVariables("REMOTE_ADDR") '获取来访的IP地址
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
sql="select * from ip2009 where 1=2"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,2
if not rs.eof then
%>
数据库路径错误!
<%
else
rs.addnew
rs("userip")=ip
rs.update
%>
已经成功添加纪录!
<%
end if
rs.close
conn.close
set conn=nothing
%>
这是我写进数据库的代码。
我想要判断数据库数据的代码。
就是这次写入不能跟之前输入的有相同的信息。
有什么办法?
判断如果有发现重复的话就不进行写入。直接结束。
把获取到的 IP 到数据库查询一下
sql = "select * from ip2009 where userip='"&ip&"'"
set rs = conn.execute(sql)
if rs.eof then //说明不存在 可以写入
else // 说明以有同IP 不可写入
end if
我修改了一下你试试,都标记出来了
<%
dim conn,db,rs,sql
dim ip,jcip,jcrs,jcsql,jcconn
db="ip2009.mdb" '这个是数据库路径
ip=request.ServerVariables("REMOTE_ADDR") '获取来访的IP地址
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
sql="select * from ip2009 where userip='"&ip&"'" '改的第一处
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,2
if not rs.eof and rs.bof then '改的第二处
rs.close
conn.close
set conn=nothing
%>
数据库路径错误!
<%
else
rs.addnew
rs("userip")=ip
rs.update
%>
已经成功添加纪录!
<%
rs.close
conn.close
set conn=nothing
end if '改的第三处
%>
sql="select * from ip2009 where 1=2"
这句没读懂什么意思
如楼上所言正确!!!