当用rs=stmt.executeQuery(strsql)返回的rs是空时,怎样得知rs为空呢? rs.last();if( rs.getRow() == 0 ){//} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if ( !rs.next() ) {// resultset为空} 怎么会不行呢?rs.next()为false就是到了记录集的末尾啊。可能是你的数据库有一条记录,而且你检测的字段是空的。 to 楼主:大家口说无凭,我可以证明rs.next()是可以的.下面是测试代码,主要在testResultSetNull()方法,在oracle上测试没有问题.public class TestNullResultSet extends TestCase { static { try {Class.forName("oracle.jdbc.driver.OracleDriver");} catch(ClassNotFoundException ex) {throw new RuntimeException("Cannot locate Oracle Driver");} } public TestNullResultSet(String name) {super(name);} private Connection conn = null; protected void setUp() throws Exception { conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:spider","user","password"); assertNotNull(conn); } protected void tearDown() throws Exception { if(null!=conn&&!conn.isClosed()) {conn.close();} } public void testResultSetNull() throws Exception { String sql = "SELECT * FROM ARGUMENT_T WHERE ARGUMENT = ?"; PreparedStatement prepStat = conn.prepareStatement(sql); prepStat.setString(1, "ABC"); ResultSet rs = prepStat.executeQuery(); boolean nullResultSet = false; if ( !rs.next() ) {nullResultSet = true;} rs.close(); prepStat.close(); assertTrue(nullResultSet); }}下面是junit的运行结果:.Time: 5.288OK (1 test) 请各位前辈帮帮小弟 线程队列题求解 我想用JAVA语句来实现一个表格下拉框,代码怎么写?? setValueAt问题,请教!! jdbc如何得到字段的说明啊 一个小游戏问题,大虾请帮我看看。谢谢 java图形配对设计 求助一道JAVA编程题...... java程序员看过来(求贤) 请教各位帅哥一个JDBC问题 15、17位旧身份证号码 转 18位新身份证的类 怎样把相应的jdbc的包加入到configure libraries里面?
// resultset为空
}
rs.next()为false就是到了记录集的末尾啊。
可能是你的数据库有一条记录,而且你检测的字段是空的。
大家口说无凭,我可以证明rs.next()是可以的.
下面是测试代码,主要在testResultSetNull()方法,在oracle上测试没有问题.
public class TestNullResultSet extends TestCase {
static {
try {Class.forName("oracle.jdbc.driver.OracleDriver");}
catch(ClassNotFoundException ex) {throw new RuntimeException("Cannot locate Oracle Driver");}
}
public TestNullResultSet(String name) {super(name);} private Connection conn = null;
protected void setUp() throws Exception {
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:spider","user","password");
assertNotNull(conn);
}
protected void tearDown() throws Exception {
if(null!=conn&&!conn.isClosed()) {conn.close();}
} public void testResultSetNull() throws Exception {
String sql = "SELECT * FROM ARGUMENT_T WHERE ARGUMENT = ?";
PreparedStatement prepStat = conn.prepareStatement(sql);
prepStat.setString(1, "ABC");
ResultSet rs = prepStat.executeQuery();
boolean nullResultSet = false;
if ( !rs.next() ) {nullResultSet = true;}
rs.close();
prepStat.close();
assertTrue(nullResultSet);
}
}
下面是junit的运行结果:
.
Time: 5.288OK (1 test)