很多时候我们都要判断ResultSet是否存在记录, 但是java里ResultSet 这个对象没有提供一个方法能判断 ,我们只能用next这个方法, next会滚动一条记录丢失第一条数据, 往往很多时候都需要第一条记录,所以我们要做相应的处理 我平常在开发中用到了以下两种形式 。
第一种方法 不及时更新ResultSet 结果集
//sql脚本
String sql="seelect * from tb_demo";
//改成可以双向滚动,但不及时更新,就是如果数据库里的数据修改过,
//并不修改ResultSet记录 必须要改成 TYPE_SCROLL_INSENSITIVE
PreparedStatement pstmt = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
//执行查询
ResultSet rs = pstmt.executeQuery();
//判断是否存在记录
if (rs.next()) {
//存在记录 rs就要向上移一条记录 因为rs.next会滚动一条记录了
rs.previous();
//在执行while 循环
while(rs.next()){
system.out.println(rs.getInt(1));
}
}
推荐第二种方法 及时更新ResultSet 结果集
//sql脚本
String sql="seelect * from tb_demo";
PreparedStatement pstmt = conn.prepareStatement(sql);
//执行查询
ResultSet rs = pstmt.executeQuery();
//判断是否存在记录
if (rs.next()) {
//有的话 先获取第一条记录
do{
System.out.println(rs.getInt(1));
} while(rs.next());
}
分享到:
相关推荐
最近在做毕业设计,需要用到数据库,在用结果集ResultSet判断的时候遇到一个郁闷的事情。 一开始我的想法是这么一个框架: ResultSet rs = dao.executeQuery(sql); if(rs不为空){ while(rs.next()){ … } }else{ … ...
next() 方法在 ResultSet 对象没有一行记录时返回 false,因此可以在 while 循环中使用它来遍历结果集,也可以利用该方法判断结果集是否为空。 getRow() 方法是 ResultSet 对象的一个重要方法,它可以返回当前指针...
在Oracle数据库中,判断表名是否存在是常见的数据库管理任务,这通常涉及到SQL查询或使用数据库的系统视图。以下是一些关于如何在Oracle中检查表是否存在的方法。 首先,你可以使用`ALL_TABLES`或`USER_TABLES`系统...
去数据库查询,如果有查询结果,就返回登录成功的信息如果,查询结果为空,,,返回登录失败3:如果你非要对比,拿着,你的(id,code);去查询结果里遍历.比对.比对成功返回登录成功,没有合适比对,返回失败!查询结果集...
4. 是否允许为空:使用isNullable(int column)方法,可以判断某列是否允许存储NULL值。返回的常量可以是ResultSetMetaData.columnNoNulls(不允许NULL),ResultSetMetaData.columnNullable(允许NULL)或...
这里以JDBC为例: ```java public boolean isUsernameAvailable(String username) { String sql = "SELECT COUNT(*) FROM users WHERE username = ?"; Connection conn = null; PreparedStatement stmt = null...
在这里,你可以检查用户输入,如判断`jTextField11`是否为空,并根据情况给出相应的提示。 以上就是Java Swing技术的一些关键点,包括`JTabbedPane`的使用、字符串转换整数的验证、窗口图标的设置、窗口关闭事件的...
8. **工具类Util**: `toolUtil.isEmpty()` 方法看起来是自定义的工具类,用于判断字符串是否为空。这个工具类可能包含了对字符串、集合等的常用辅助方法。 9. **异常处理**: 代码中所有的数据库操作都包含在`try-...
// Access数据库名,通常为空 String user = ""; // Access数据库用户名,通常为空 String password = ""; // Access数据库密码,通常为空 String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};...
- 首先检查传入的学生姓名是否为空; - 使用`$$ALPHAUP^SSUTIL4`函数对姓名进行处理(可能是转换为大写或去除特殊字符); - 通过`^DHCStudenti`全局变量找到对应学生的信息; - 循环遍历该学生的选课记录,获取每门...
2. 表单验证:在用户点击登录按钮时,验证输入是否为空,以及输入格式是否符合预期(如邮箱格式验证)。 三、数据库连接 1. 加载驱动:通过Class.forName()方法加载对应的数据库驱动。 2. 获取连接:使用...
- `isEmpty(Collection coll)`: 检查集合是否为空。 - `getRowSet(String sql)`: 执行SQL查询并返回结果集。 #### 5.3 WorkUtil简单介绍 WorkUtil工具类提供了与工作流相关的功能。 - `canInitialize(User user, ...
如果查询结果集(ResultSet)不为空且下一行存在,说明登录信息正确,返回`true`;否则,返回`false`。 2. **密码修改**: `modifyLogin`方法用于更新用户密码。它同样使用`PreparedStatement`,但这次是执行...
`ResultSetMetaData`接口则是用于获取`ResultSet`对象中每一列的相关信息,比如列的数量、列的名字、列的数据类型、是否可为空等。在处理查询结果时,如果需要对结果集进行进一步的操作,比如转换为Java对象列表,`...
- `isEmpty`: 判断字符串是否为空。 - `canNotBeNull`: 如果字符串为空,则抛出异常。 #### 数据库工厂类 - `DBFactory` ```java public class DBFactory { /** 数据源 */ private DBConnection dbConn = new ...
在 `processRequest` 函数中,我们处理 Server 端返回的信息,判断用户是否存在。 ```javascript function processRequest() { if (http_request.readyState == 4) { if (http_request.status == 200) { // 信息...
在Java中,我们可以创建一个空的ArrayList来保存最终的交集元素,然后遍历第一个数组,对于每个元素,检查它是否存在于其他所有数组中。如果存在,就将其添加到结果列表中。以下是一个简单的示例: ```java import ...
p==NULL不改变指针p的指向,仅用于判断是否为空。指针变量可以通过&运算符获取地址。 18. VB数组操作:给定的事件代码在VB环境中,计算结果为C.42,因为a(2,5)+a(3,4)+a(4,5)等于4*5 + 3*4 + 4*5。 19. 字符串比较...