请帮我看下这段代码为什么不能取得值?

yufa127 2007-04-10 05:24:02
Dim city,pingyin

Set rs_s=Server.CreateObject("Adodb.RecordSet")
sql="select top 1 pinyin,city from city_py where "&ip_city&"=city order by id desc"
rs_s.open sql,conn,1,1
if rs_s.eof then
pinyin="bj"
city="北京"
else
pinyin=rs_s(0)
city=rs_s(1)
end if
说明:ip_city已经测试可取得值,<%=ip_city%>得到的结果是有值得;现在的情况是如上这段代码不能取得值,每次都是空,pinyin的值取得的是在空的情况下所赋的bj,很是纳闷,请大家指点下!ip_city和city的值都为中文,字段为文本属性。
...全文
200 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yufa127 2007-04-11
  • 打赏
  • 举报
回复
多谢几位的热心帮助,不过偶用ACCESS也是测试下,所以还是用SQL的,可能是其他地方有点问题导致的。
tantaiyizu 2007-04-10
  • 打赏
  • 举报
回复
你的conn对象呢?
wangwm 2007-04-10
  • 打赏
  • 举报
回复
看看SQL语句是什么

conn.open MM_conn_STRING
Response.Write "select top 1 pinyin from city_py where city='"&ip_city&"'"
Response.end
set rs=conn.execute("select top 1 pinyin from city_py where city='"&ip_city&"'")
SOBROOM 2007-04-10
  • 打赏
  • 举报
回复
如果字段是city的话

sql="select top 1 pinyin,city from city_py where "&ip_city&"='city' order by id desc"

否则的话可能是
sql="select top 1 pinyin,city from city_py where "&ip_city&"='city' order by id desc"
yufa127 2007-04-10
  • 打赏
  • 举报
回复
是个从来访IP来判断地区,然后转向所在市的二级域名的程序,我是从SQL版里弄出来的,放ACCESS里就不行了。我把原来的贴出来有需要的拿去用,也帮我看看放ACCESS里怎么就不行了。
auto_index.asp,内容:<!-- #include file="connections/conn.asp"-->
<!-- #include file="function/ip.asp"-->
<%
'on error resume next
Dim conn,rs,city
set conn =Server.CreateObject("ADODB.connection")
conn.open MM_conn_STRING
set rs=conn.execute("select top 1 pinyin from city_py where city='"&ip_city&"'")
if rs.eof then
city="bj"
else
city=trim(rs(0))
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if trim(city)="" then city="bj"
response.Redirect("http://"&city&".***.com/")
%>

IP.asp的:<%
on error resume next
Function cip(sip)
tip=cstr(sip)
sip1=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip2=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip3=left(tip,cint(instr(tip,".")-1))
sip4=mid(tip,cint(instr(tip,".")+1))
cip=cint(sip1)*256*256*256+cint(sip2)*256*256+cint(sip3)*256+cint(sip4)
End Function
Dim ip_address,ip_city,ip_province,rs_ip
ip_address=Request.ServerVariables("REMOTE_ADDR")
if ip_address<>"" then
cip_address=cip(ip_address)
set conn=Server.CreateObject("Adodb.connection")
conn.open MM_conn_STRING
set rs_ip=conn.execute("select top 1 city,province from ip_address where "&cip_address&">=ip1 and "&cip_address&"<=ip2 order by id desc")
if rs_ip.eof then
ip_province="北京"
ip_city="北京"
else
ip_province=rs_ip(1)
ip_city=rs_ip(0)
end if
rs_ip.close
set rs_ip=nothing
conn.close
set conn=nothing
else
ip_province="北京"
ip_city="北京"
End If
%>
ip库为一个表ip_address,省市库为表city_py,思想是先获取来访IP与IP库内IP比较判断地区,再从city_py找到该地区的拼音写为二级域名前缀。
yufa127 2007-04-10
  • 打赏
  • 举报
回复
偶崩溃了,以上三种方法都不行
z109876543210 2007-04-10
  • 打赏
  • 举报
回复
sql="select top 1 pinyin,city from city_py where city='"&ip_city&"' order by id desc"
'''sql="select top 1 pinyin,city from city_py where trim(city)='"&trim(ip_city)&"' order by id desc"
roklba 2007-04-10
  • 打赏
  • 举报
回复
city如不是int的改成如下
'"&ip_city&"'=city
wangwm 2007-04-10
  • 打赏
  • 举报
回复
sql="select top 1 pinyin,city from city_py where city='"&ip_city&"' order by id desc"

28,404

社区成员

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

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