zoukankan      html  css  js  c++  java
  • while (rs.next()) 与 if(rs.next())的区别

    如果说是"判断结果集里有没有值" 那么用if(rs.next) 

    while是用来做循环输出的 换句话说 就是"如果结果集里还有值" 没有则停止循环 这个一般在JSP 做 显示 用.

    1、rs = stmt.exeQuery(sql)后,rs肯定不会为null,注意,是 rs对象 不会为null,而不是 其包含的 result !


    2、既然rs不会为null,所以在rs = stmt.exeQuery(sql)后,使用 while(rs.next()) 或者 if(rs.next()) 时就 不用判断 rs != null !


    3、rs.next时,游标最先是指向第一条记录前的位置,所以第一次rs.next后,游标指向的正好是第一条记录(如果有的话);


    4、要判断rs的结果是否为空,只要使用一次rs.next方法就行了,如果它返回为false,则证明 rs的结果 为 null 
    所以最终的代码可以写为:
        public void run() {
            DbTestConn conn = new DbTestConn();
            String sql = "select * from mo_info where mo_state = '1'";
            ResultSet rs = conn.exeQuery(sql);
            //while (!isNull) {
                try {
                    while (rs.next()) {
                        tr.setId(rs.getInt(1));
                        tr.setUser(rs.getString(2));
                        tr.setPwd(rs.getString(3));
                        //isNull = false;
                    }
                } catch (SQLException e) {
                    //isNull = true;
                    e.printStackTrace();
                }
            //}
        }

    说的简单的话就是


    while(rs.next())  // 就是 将 rs 全部进行读取
    if(rs.next())  // rs 进行读取 一次 判断 是否 有数据

  • 相关阅读:
    Dynamics CRM安装教程一:域环境准备
    C#判断日期是否合法
    Visual Studio 2015 无法加载.Net FrameWork4.6.2
    Dynamics CRM产生公共签名,避免每次插件换环境重新输入签名密钥账号密码
    Dynamics CRM使用JS隐藏自定义按钮
    <3>Python开发——列表(list)
    <2>Python开发——字符串(str)
    <1>Python开发——基础入门
    Sed命令详解
    国内搭建Minikube测试环境
  • 原文地址:https://www.cnblogs.com/ziyanxiaozhu/p/8290111.html
Copyright © 2011-2022 走看看