rs.next()方法感悟

今天使用dwr的时候发现js无法执行回调函数,但是通过页面js测试类却没有问题正常运行,能够显示数据,但是就是结构不是我想要的结果,发现rs.next()语句不执行,上网找了很多大侠的解说,顿时灵光一线但是改过后没有反应,结果还不正确,静下心来分析问题吧。

 

1.首先说ResultSet这个东西是一个接口,各个数据库驱动来实现他,真正我们用到的rs就已经是实例化的东西了,所以rs!=null这个肯定是正确的了,所以来判断是否rs有值就不能通过这个来判断。

2.通过rs.next()这个方法判断才是王道,rs.next()表示结果集里rs游标从0条向下移动到第一条结果看看有没有结果如果有结果就显示true,否则显示false。

  道理是明白了,但是为什么还会出现问题呢,仔细从自身查找原因原来在我System.out.println("rs.next===="+rs.next())已经在真正if(rs.next())之前叫游标向下移动,已经移动到了第一条,知道真正执行if(rs.next())时候就真的找不到结果了。

 

这个问题,也给我了启示要多注意自己的代码不要怀疑别人的程序。从原理分析问题,不要浮躁的解决问题。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB 使用DAO对象浏览数据库   rs.MoveFirst '移动记录指针   Command1.Enabled = False '使第一条和上一条按钮不可用   Command2.Enabled = False   Command3.Enabled = True   Command4.Enabled = True   refreshdb rs '调用自定义方法刷新   End Sub   Private Sub Command2_Click()   If rs.BOF Then'判断是否到了第一条记录之前    Command1.Enabled = False'使第一条和上一条按钮不可用    Command2.Enabled = False   Else    rs.MovePrevious   End If   Command3.Enabled = True   Command4.Enabled = True   refreshdb rs   End Sub   Private Sub Command3_Click()   Command1.Enabled = True   Command2.Enabled = True   If rs.EOF Then'判断是否到了最后一条记录之后    Command3.Enabled = False'使下一条和最后一条按钮不可用    Command4.Enabled = False   Else    rs.MoveNext   End If   refreshdb rs   End Sub   Private Sub Command4_Click()   rs.MoveLast   Command1.Enabled = True   Command2.Enabled = True   Command3.Enabled = False '使下一条和最后一条按钮不可用   Command4.Enabled = False   refreshdb rs   End Sub   Private Sub Command5_Click()   End   End Sub   Private Sub refreshdb(rst As Recordset)'自定义刷新方法   Dim i As Integer   If rst.EOF Or rst.BOF Then    Exit Sub   End If   For i = 0 To 4    If IsNull(rst.Fields(i)) Then '判断是否有空值    Text1(i).Text = ""    Else    Text1(i).Text = rst.Fields(i).Value '为控件数组赋值    End If   Next i   End Sub

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值