首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 查询ip库 ,大家给看看什么错误 [已结贴,结贴人:Luffy0614]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Luffy0614
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-06-20 09:48:55 楼主
    public String selIP(String ip){
    String country ="";//获得地点名称
    System.out.print(ip);//ip获取没有问题,假设获得的ip是ip "61.33.4.251"
    String sql = "SELECT country FROM [ip] where "+ip+" BETWEEN 'startip' AND 'endip'";
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
    pstmt = con.prepareStatement(sql);

    rs = pstmt.executeQuery();
    while (rs.next()) {
    rs.getString("country");
    }
    country = rs.getString(country);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    try {
    if (pstmt != null) {
    rs.close();
    pstmt.close();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    return country ;

    }
    错误是
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: '.4' 附近有语法错误。
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • java2000_net_test
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 09:48:581楼 得分:5
    该回复于2008-08-01 05:24:55被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jiatai416
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 09:52:382楼 得分:0
    sq server的驱动有问题
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • burningice44
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 09:55:453楼 得分:0
    确认你的三个驱动包都已放入lib下;
    看看连接语句是否正确;
    是否打了补丁。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Luffy0614
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 09:56:404楼 得分:0
    如果驱动有问题,我另外的900多行代码早就报错了,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cool_scorpion
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 09:58:225楼 得分:5
    String sql = "SELECT country FROM [ip] where "+ip+" BETWEEN 'startip' AND 'endip'"; 

    有问题吧,

    lz 先把能在SQLSerrer里面运行的的sql写好,再用java来执行。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Luffy0614
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 09:59:176楼 得分:0
    引用 3 楼 burningice44 的回复:
    确认你的三个驱动包都已放入lib下;
    看看连接语句是否正确;
    是否打了补丁。

    我数据库中其他代码均可正常运行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Luffy0614
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 10:03:147楼 得分:0
    引用 5 楼 cool_scorpion 的回复:
    String sql = "SELECT country FROM [ip] where "+ip+" BETWEEN 'startip' AND 'endip'"; 

    有问题吧,

    lz 先把能在SQLSerrer里面运行的的sql写好,再用java来执行。。


    我感觉写的很是不爽,能指点下那里出了问题么?
    我用debug跟了,不知道什么地方不对的 多谢了先
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Luffy0614
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 10:29:598楼 得分:0
    引用 5 楼 cool_scorpion 的回复:
    String sql = "SELECT country FROM [ip] where "+ip+" BETWEEN 'startip' AND 'endip'"; 

    有问题吧,

    lz 先把能在SQLSerrer里面运行的的sql写好,再用java来执行。。


    是不是between 只能比较的是int型的,
    String sql = "SELECT country FROM [ip] where "+ip+" >=starti and "+ip+" <= endip";
    这么做行么?
    请大家指点我这个sql语句,写的太差了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cool_scorpion
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 10:41:229楼 得分:5
    String sql = "SELECT country FROM [ip] where "+ip+" BETWEEN 'startip' AND 'endip'";

    这个sql很不明白,表名是叫 [ip]? startip 和 endip的值又是多少?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • BrideofJava
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 10:55:0310楼 得分:5
    Java code
    try { pstmt = con.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { /* 注意看下这里的 getString("country") */ rs.getString("country"); } /* 再看下这里的 getString(country) */ country = rs.getString(country); } catch (Exception e) { e.printStackTrace(); }


    针对 try catch 的问题

    Java code
    try { pstmt = con.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { /* 修改成这样 更合理*/ country=rs.getString("country"); } } catch (Exception e) { e.printStackTrace(); }
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved