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;
  • 相关阅读:
    四套读取方案
    java的分层开发
    位移运算符
    反射
    多线程下的单例
    学生管理系统
    iOS-分段控制器-基本概念
    iOS-UITableView-处理cell上按钮事件(弹出警示框,页面跳转等)
    iOS-UIScrollView-图片缩放
    Xcode-Xcode 7.3 解决不能自动联想问题
  • 原文地址:https://www.cnblogs.com/lixiang1993/p/7360262.html
Copyright © 2011-2022 走看看