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