• Statement对象


    Statement对象分为以下三种:

    Statement: 提供了基本查询的接口,一般用来执行简单的、无参数的查询语句

    PreparedStatement:从Statement类继承过来的类,一般用来执行带IN参数或不带参数的查询语句

    CallableStatement: 基类是PreparedStatement, 一般用来对存储过程的查询,可以处理Out参数

    一、Statement对象的创建与使用

    Connection con=DriverManager.getConnection(url, "System", "new");
    Statement stmt=con.createStatement();
    ResultSet rs=stmt.ExecuteQuery("select * from new");
    1、Statement提供了三种不同的方法来执行SQL语句

    ExecuteQuery: 用来返回一个单独的结果集ResultSet

    ExecuteUpdate: 用来执行insert, update 和 delete语句,返回值是一个整数,代表了这些语句所作用到的行数;还可以执行语言定义语句(create table, drop table),返回值为0, 因为它们不作用于行

    Execute: 则会返回一个或多个ResultSet对象, 可是更新数,或两者都有

    2、Statement对象不包含SQL语句,使用者必须提供SQL语句作为Statement方法的参数

    PreparedStatement由于已经包含了一个预编译的SQL语句,则不必给它的方法提供SQL语句作为参数

    CallableStatement重载了PreparedStatement方法,所以也不需要额外的SQL语句

    3、Execute方法的使用

    当一个语句可能返回一个以上的记录集或是多于一个的更新数目,或者两者都返回时,才能用到Execute

    如果Execute返回的是true, 则说明返回值是ResultSet, 如果为false, 则说明返回值是个整型数

    要获得Execute返回的多于一个以上的记录集时,首先要调用getResultSet得到第一个记录集,然后调用getMoreResults 和getResultSet得到得到第二个记录集 ; 当返回的更新数目多于2个时,得到第一个数要用getUpdateCount, 然后调用getMoreResults和getUpdateCount得到第二个结果

    如果getResultSet返回的是null, getUpdateCount返回的是-1, 则说明没有理多的返回结果



    stmt.Execute(sql);
    while(true){
    int rowCount=stmt.getUpdateCount();
    if(rowCount>0) {
    System.out.println("改变的行数为"+rowCount);
    stmt.getMoreResult();
    Continue;
    }
    if(rowCount==0){
    System.out.println("没有行被改变或是SQL语句是个数据库定义语言“);
    stmt.getMoreResult();
    Continue;
    }
    ResultSet rs=stmt.getResultSet();
    if(rs!=null){
    //.....
    while(rs.next()){
    //处理结果集
    }
    stmt.getMoreResult();
    continue;
    }
    break;
    }
  • 相关阅读:
    代码题(22)— 二叉树镜像、相同的树 、对称二叉树
    代码题(26)— 不同路径
    代码题(25)— 最大子序和、最长上升子序列
    Linux 基本命令总结
    C++(五)— 控制保留小数位数
    C++(四)— 字符串、数字翻转3种方法
    代码题(24)— 寻找重复数、数组中重复的数据、找到所有数组中消失的数字
    代码题(23)— 数组中的最长山脉
    【vue】vue +element 搭建项目,将js函数变成vue的函数
    【vue】vue +element 搭建项目,$createElement使用
  • 原文地址:https://www.cnblogs.com/cyy-13/p/5779678.html
Copyright © 2020-2023  润新知