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;
  • 相关阅读:
    十三 .Django(ORM表高级操作)
    十二 .Django ForeighKey自关联(ORM)
    十二 .Django 一对多表ForeighKey(ORM)
    十一 .Django 一对一表OneToOneField (ORM)
    十 .Django 单表操作(ORM)
    八 .Django 模型(models)
    【模板】Lucas定理
    【模板】AC自动机加强版
    【模板】AC自动机
    【POJ3162】Walking Race 树形dp+单调队列+双指针
  • 原文地址:https://www.cnblogs.com/lixiang1993/p/7360262.html
Copyright © 2011-2022 走看看