首页 新闻 会员 周边 捐助

JDBC查询时在本地查询正常,但部署到服务器就不行了

0
悬赏园豆:5 [待解决问题]

public List<To_DingDan> findByHyId3(Integer id) throws Exception{
        String sql = "select * from (select * from to_dingdan t where t.hyid="+id+" and t.type='待付款' order by t.id desc) j group by j.hyid2 order by j.id desc";
        // 获取到连接
        List<To_DingDan> list = new ArrayList<To_DingDan>();
        // 获取到连接
        //加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获取连接Connection
        Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/jiaju4?useUnicode=true&amp;characterEncoding=UTF8", "root", "123456");
        //得到执行sql语句的对象Statement
        Statement stmt = (Statement) conn.createStatement();
        //执行sql语句,并返回结果
        ResultSet rs = (ResultSet) stmt.executeQuery(sql);
        
        //rs.next()在本地为true 部署到服务器为false
        while (rs.next()) {
            // 将查询出的内容添加到list中,其中userName为数据库中的字段名称
            System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++");
            To_DingDan dd = new To_DingDan();
            dd.setHyid2(rs.getInt("hyid2"));
            list.add(dd);
        }
        rs.close();
        stmt.close();
        conn.close();
        System.out.println(list.size()+"******************");
        return list;
    }

 

首先数据库字段,格式,用户名,密码完全一样。

问题补充:

首先数据库字段,格式,用户名,密码和服务器的完全一样。

小胡来生缘的主页 小胡来生缘 | 初学一级 | 园豆:8
提问于:2018-03-15 14:06
< >
分享
所有回答(4)
0

可以将localhost换成本地服务器的IP地址试试,另外将sql语句在服务器运行一下看是否能查到数据

这片海 | 园豆:178 (初学一级) | 2018-03-15 14:18

s sql语句在服务器可以执行,也可以查出来数据

支持(0) 反对(0) 小胡来生缘 | 园豆:8 (初学一级) | 2018-03-15 14:28
0

在服务器报错的信息是什么?

Shendu.CC | 园豆:2138 (老鸟四级) | 2018-03-15 15:24

没有报错,打印日志里也没有报错,rs.next()为false,直接就跳过了循环,所以不报错。

支持(0) 反对(0) 小胡来生缘 | 园豆:8 (初学一级) | 2018-03-15 15:51

@小胡来生缘: 那这个就不知道了,没报错说明连到数据库了。rs.next()为false 说明你的sql语句查不到记录。但是你将sql语句放在服务器中运行却可以查到。。很奇怪。

支持(0) 反对(0) Shendu.CC | 园豆:2138 (老鸟四级) | 2018-03-15 17:27
0

已解决:将jdbc:mysql://localhost:3306/jiaju4?useUnicode=true&amp;characterEncoding=UTF8", "root", "123456");

改为jdbc:mysql://localhost:3306/jiaju4?characterEncoding=UTF8", "root", "123456");

小胡来生缘 | 园豆:8 (初学一级) | 2018-03-15 20:09
0

如果程序可以启动那么说明已经连接上了数据库!你可以把服务器的远程访问开启,在本地连接服务器数据库看看是什么情况!

学者人生 | 园豆:4 (初学一级) | 2018-03-17 13:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册