zoukankan      html  css  js  c++  java
  • 【原】关于executeQuery与ResultSet

    今天老实犯糊涂,再总结一下以前的知识吧~

    executeQuery()永远不会返回null

    这一点很重要,也很容易让人忽视。举个例子吧;
    比如,在数据库中,只有两个用户user1,user2的密码是“123”。那么运行下面代码的结果是什么呢?

    ......
    
                    String sql = "select uname from user where  upwd = ?";
    		PreparedStatement pst = conn.prepareStatement(sql);
    		pst.setString(1, "123");
    		ResultSet rs = null;
    		rs = pst.executeQuery();//此时rs里面有两条数据
    		System.out.println(rs.next());//<font color=red>不是打印user1,而是打印true</font>
    		System.out.println(rs.next());//不是打印user2,而是打印true
    		System.out.println(rs.next());//打印false,由于每次调用next()的作用是向后移动一条数据,所以现在已经到了第三条数据,而rs里面一共有两条数据
    		
    ......
    
    

    那么如果想得到user1,user2,该怎么办呢?如下:

    ......
    
                    String sql = "select uname from user where  upwd = ?";
    		PreparedStatement pst = conn.prepareStatement(sql);
    		pst.setString(1, "123");
    		ResultSet rs = null;
    		rs = pst.executeQuery();//此时rs里面有两条数据
    		
    		while(rs.next()){
    			System.out.println(rs.getString("uname"));//这样就能输出user1,user2了
    		}
    ......
    
    
  • 相关阅读:
    java学习大方向
    js总结001
    MySQL总结
    快捷键
    java基础总结001
    网络设备的发展与作用(冲突域与广播域)
    二进制&八进制&十六进制之间的快速转换------ 心算&笔算方法总结
    IP地址的定义和划分
    初学Linux基本的命令操作应当记牢
    JDK的下载与安装
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3991507.html
Copyright © 2011-2022 走看看