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里执行是有结果的,哪里写错了呢?
6 个解决方案
#1
lz试试在MySQL上直接执行
额,顺便问一下
select id from xxxx limit 1看看会不会出结果, 没有的话就是sql语句错误
额,顺便问一下
DriverManager.getConnection( ConstantsDB."jdbc:mysql://xxxx?characterEncoding=utf8" , "xxx" , "xxx" );是什么写法?没见过,,,还有 "类.字符串" 的写法?
#2
连的数据库跟你在数据库客户端查询的是不是同一个数据库;
后台有没有报错;
你获取数据,是直接用的res.getxxx(),没有在while循环里面再写res.next()吧。因为limt1,只会查出一条数据。
一个个排除吧。我猜想你是不是在while里面又写了一次res.next();
后台有没有报错;
你获取数据,是直接用的res.getxxx(),没有在while循环里面再写res.next()吧。因为limt1,只会查出一条数据。
一个个排除吧。我猜想你是不是在while里面又写了一次res.next();
#3
如果这个url可以这么传的话,那就是while里面有问题,贴出来看看
#4
楼主可以换一个sql语句试试,看看是sql语句的问题还是程序的问题。
#5
是数据库主从同步的问题,已经解决了!
谢谢大家的回复~~
谢谢大家的回复~~
#6
#1楼同学
那是我粘代码时粘错了的。。。不好意思。。。
那是我粘代码时粘错了的。。。不好意思。。。
#1
lz试试在MySQL上直接执行
额,顺便问一下
select id from xxxx limit 1看看会不会出结果, 没有的话就是sql语句错误
额,顺便问一下
DriverManager.getConnection( ConstantsDB."jdbc:mysql://xxxx?characterEncoding=utf8" , "xxx" , "xxx" );是什么写法?没见过,,,还有 "类.字符串" 的写法?
#2
连的数据库跟你在数据库客户端查询的是不是同一个数据库;
后台有没有报错;
你获取数据,是直接用的res.getxxx(),没有在while循环里面再写res.next()吧。因为limt1,只会查出一条数据。
一个个排除吧。我猜想你是不是在while里面又写了一次res.next();
后台有没有报错;
你获取数据,是直接用的res.getxxx(),没有在while循环里面再写res.next()吧。因为limt1,只会查出一条数据。
一个个排除吧。我猜想你是不是在while里面又写了一次res.next();
#3
如果这个url可以这么传的话,那就是while里面有问题,贴出来看看
#4
楼主可以换一个sql语句试试,看看是sql语句的问题还是程序的问题。
#5
是数据库主从同步的问题,已经解决了!
谢谢大家的回复~~
谢谢大家的回复~~
#6
#1楼同学
那是我粘代码时粘错了的。。。不好意思。。。
那是我粘代码时粘错了的。。。不好意思。。。