暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase获取 AUTO_INCREMENT 列值方法分享

郑小雯 2023-09-22
172

获取 AUTO_INCREMENT 列值方法 

本示例实现了使用可更新结果集获取 AUTO_INCREMENT 列的值。

示例如下:

package com.gbase.jdbc.simple; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SampleUpdatableResultSet { private static final String URL = "jdbc:gbase://192.168.111.95:5258/test?user=sysdba&password="; public static void main(String[] args) { try { (new SampleUpdatableResultSet()).test(); } catch (Exception ex) { } } public void test() throws Exception { Connection conn = null; try { Class.forName("com.gbase.jdbc.Driver").newInstance(); conn = DriverManager .getConnection(URL); Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement( java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_UPDATABLE); // 创建表 stmt.executeUpdate("DROP TABLE IF EXISTS autoIncTutorial"); stmt.executeUpdate("CREATE TABLE autoIncTutorial (" + "priKey INT NOT NULL AUTO_INCREMENT, " + "dataField VARCHAR(64), PRIMARY KEY (priKey))"); // 获取自增一字段值 rs = stmt.executeQuery("SELECT priKey, dataField " + "FROM autoIncTutorial"); rs.moveToInsertRow(); rs.updateString("dataField", "AUTO INCREMENT here?"); rs.insertRow(); rs.last(); int autoIncKeyFromRS = rs.getInt("priKey"); rs.close(); rs = null; System.out.println("Key returned for inserted row: " + autoIncKeyFromRS); } finally { if (rs != null) { try { rs.close(); } catch (SQLException ex) { } } if (stmt != null) { try { stmt.close(); } catch (SQLException ex) { } } } } catch (SQLException ex) { // 处理错误 System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } finally { conn.close(); } } }

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论