java - 结果集 rs.next() 的 rs 变量如何为真,即使它们在第二个表 b 中没有记录
问题描述
表一
roll
101
表b
enter code here
空集
//code of java netbeans
//table a
public void t1()
{
try
{
String s1 = "select max(roll) as 'rn' from a;";
rs=stmt.executeQuery(s1);
if(rs.next())
{
rn = rs.getInt("rn");
jTextField1.setText(rn+"");
}
}catch(Exception e)
{}
//table b
public void t2()
{
try
{
String s2 = "select max(ecode)+1 as 'ec' from b;";
rs=stmt.executeQuery(s2);
if(rs.next())
{
en = rs.getInt("ec");
}
else
{
en = 2001;
}
jTextField2.setText(en+"");
}catch(Exception e)
{
}
}
为什么执行 t2 方法中的 if 语句虽然我们在表 b 中没有任何记录
解决方案
max(ecode)
如果表中没有行且不存在group by
子句,则该max()
函数返回包含 value 的单行null
。
推荐阅读
- c++ - How do I check or ignore a missing DLL when making a shared library in CMake?
- php - Laravel 5 belongsTo relation in same table chaining
- sql - Count of Character mismatch between two values in SQL Server stored procedure
- ruby-on-rails - Eager-Loading External Data Associated with an Active Record Model
- reactjs - A proper way to make React app Multilingual
- pandas - Split a dataframe by unique values in a dataframe
- javascript - 获取视频列表 youtube api
- office-js - Outlook Web 加载项:拥有两个 DetectedEntity 不适用于上下文检测
- html - 使用 React-pdf,按照说明进行操作,但仍然无法加载。如何修复此错误?
- r - r shinyWidgets pickerGroupUI 多个