返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

gbase_stmt_errno
 摘要:
返回上次语句执行的错误编号。
 语法:
unsigned int gbase_stmt_errno(GBASE_STMT * stmt);
 参数:
 返回值:
错误代码值。如果未出现错误,返回0。

本示例实现了使用可更新结果集获取AUTO_INCREMENT 列的值。
示例如下:
package com.gbase.jdbc.simple;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司

- 151 -
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

GBase 8a 程序员手册JDBC 篇


- 152 -

南大通用数据技术股份有限公司
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) {

GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司

- 153 -












}




}



}


} catch (SQLException ex) {



// 处理错误



System.out.println("SQLException: " + ex.getMessage());



System.out.println("SQLState: " + ex.getSQLState());



System.out.println("VendorError: " + ex.getErrorCode());


} finally {



conn.close();


}

}
}

+-------------------+
1 row in set
示例3:D 为“0”,返回值不包含小数点和小数部分。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
770
gbase> SELECT TRUNCATE(1.999,0) FROM dual;
+-------------------+
| TRUNCATE(1.999,0) |
+-------------------+
|
1 |
+-------------------+
1 row in set
示例4:X 为“-1.999”,小数点后保留一位。
gbase> SELECT TRUNCATE(-1.999,1) FROM dual;
+--------------------+
| TRUNCATE(-1.999,1) |
+--------------------+
|
-1.9 |
+--------------------+
1 row in set
示例5:D 为-2,个位十位归零。
gbase> SELECT TRUNCATE(122,-2) FROM dual;
+------------------+
| TRUNCATE(122,-2) |
+------------------+
|
100 |
+------------------+
1 row in set
示例6:X 为表达式。
gbase> SELECT TRUNCATE(10.28*100,0) FROM dual;
+-----------------------+
| TRUNCATE(10.28*100,0) |
+-----------------------+
|
1028 |
+-----------------------+
1 row in set