zoukankan      html  css  js  c++  java
  • 获取数据库表的记录数

    jdbc中sql语句的执行方式有两种:

    PreparedStatement ps = null;
    String sql = "update users set userName=?,password=? where userId=?";
    ps = conn.prepareStatement(sql);
    //赋值。。。
    int index = pst.executeUpdate();//执行 增 删 改
    PreparedStatement ps = null;
    String sql = "select * from users where userId=?";
    ps = conn.prepareStatement(sql);
    //赋值。。。
    ResultSet rs = ps.executeQuery();//执行 查

    获取数据库的记录数的sql语句,返回值是int类型,但是它并不能用 executeUpdate() 来执行,它属于查询语句,应该用 executeQuery() 执行。

    那么,如何获取到记录数呢?

    String sql="select count(*) from users";

    有以下三种方法:

    1、第一种,也是最容易想到的,声明一个局部变量,通过遍历返回结果集ResultSet来获取,代码如下:

    PreparedStatement ps = null;
    String sql = "select * from users";
    ps = conn.prepareStatement(sql);
    ResultSet rs = ps.executeQuery();
    int count=0;//总的记录数
    while (rs.next()) {
        count++;
    }
    return count;

    2、第二种,利用ResultSet的成员函数来获取,代码如下:

    PreparedStatement ps = null;
    String sql = "select * from users";
    ps = conn.prepareStatement(sql);
    ResultSet rs = ps.executeQuery();
    rs.last();//移动到ResultSet的最后一行
    int count = rs.getRow(); //获得当前行号,也就是记录数
    return count;

    3、第三种,就是用我们最初的sql语句来获取, String sql="select count(*) from users";

    PreparedStatement ps = null;
    String sql = "select count(*) from users";
    ps = conn.prepareStatement(sql);
    ResultSet rs = ps.executeQuery();
    int count=0;
    if(rs.next()){
        count=rs.getInt(1);//ResultSet结果集中的第一个参数就是记录数,其实结果集中只有一个参数
    }
    return count;
  • 相关阅读:
    [置顶] .net技术类面试、笔试题汇总1
    [置顶] Linux协议栈代码阅读笔记(一)
    JS 获取浏览器窗口大小
    huapin
    display:table-cell几种应用
    flex布局大讲解
    chrome的source工具
    linux配置yum源
    oracle Can't connect to X11 window server using ':0.0' /Checking monitor: must be configured to display at least 256 colors解决方法
    oracle Recyclebin
  • 原文地址:https://www.cnblogs.com/lixiang1993/p/7360262.html
Copyright © 2011-2022 走看看