jdbc执行select无结果

J2EE 码拜 10年前 (2015-05-10) 1149次浏览 0个评论
 

代码如下:
Class.forName( “com.mysql.jdbc.Driver” ).newInstance();
Connection conn = DriverManager.getConnection( ConstantsDB.”jdbc:mysql://xxxx?characterEncoding=utf8″ , “xxx” , “xxx” );
Statement stmt = conn.createStatement();
ResultSet res = stmt.executeQuery( “select id from xxxx limit 1” );
while( res.next() ) 
{
   //….
}

程序里执行,显示无记录,我把sql直接在DB里执行是有结果的,哪里写错了呢?

5分
lz试试在MySQL上直接执行

select id from xxxx limit 1

看看会不会出结果, 没有的话就是sql语句错误
额,顺便问一下

DriverManager.getConnection( ConstantsDB."jdbc:mysql://xxxx?characterEncoding=utf8" , "xxx" , "xxx" );

是什么写法?没见过,,,还有 “类.字符串” 的写法?

5分
连的数据库跟你在数据库客户端查询的是不是同一个数据库;
后台有没有报错;
你获取数据,是直接用的res.getxxx(),没有在while循环里面再写res.next()吧。因为limt1,只会查出一条数据。
一个个排除吧。我猜想你是不是在while里面又写了一次res.next();
5分
引用 1 楼 u011004037 的回复:

额,顺便问一下

DriverManager.getConnection( ConstantsDB."jdbc:mysql://xxxx?characterEncoding=utf8" , "xxx" , "xxx" );

是什么写法?没见过,,,还有 “类.字符串” 的写法?

如果这个url可以这么传的话,那就是while里面有问题,贴出来看看

5分
楼主可以换一个sql语句试试,看看是sql语句的问题还是程序的问题。
是数据库主从同步的问题,已经解决了!
谢谢大家的回复~~
#1楼同学
那是我粘代码时粘错了的。。。不好意思。。。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明jdbc执行select无结果
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!