返回首页

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

更新日期:2024年09月11日

 摘要:
获取结果集当前行中某列的数据。
 语法:
int gbase_stmt_fetch_column(GBASE_STMT *stmt,
GBASE_BIND *bind_arg,,
unsigned int column,
unsigned long offset);
 参数:
 返回值:
如果成功获取了值,返回0。如果出现错误,返回非0 值。
 错误
CR_INVALID_PARAMETER_NO

无效的列号。
CR_NO_DATA




已抵达结果集的末尾。

GBase 8a 程序员手册C API 篇


- 60 -

南大通用数据技术股份有限公司

返回不同的非NULL 的值的总数目。
示例
示例1:返回lo_orderkey 列中不同的非NULL 的值的总数目。
gbase> SELECT COUNT(DISTINCT lo_orderkey) FROM ssbm.lineorder;
+-----------------------------+
| COUNT(DISTINCT lo_orderkey) |
+-----------------------------+
| 1500000 |
+-----------------------------+
1 row in set
在GBase UP 中,用户通过给定一个表达式列表而获取不包含NULL 不同表达式组
合的数目。而在标准SQL 中,用户必须在COUNT(DISTINCT...)中连接所有的表达
式。

hiberante 使用
1. 根据hibernate 版本获取对应的dialect 包。
2. 引入hibernate,dialect 包和jdbc 驱动包
3. 配置hibernate.cfg.xml,设置gbase 使用的方言类,参考黑色背景设
置。



name="dialect">org.hibernate.dialect.GBaseDialect

name="connection.driver_class">com.gbase.jdbc.Driver
name="connection.url">jdbc:gbase://192.168.5.66:5258/bhtjdbctest?pro
fileSql=true

root
1

4. 程序验证
package gbase.hibernate.clienttest;

import java.util.List;
import junit.framework.TestCase;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;

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

- 107 -
import org.hibernate.Transaction;

public class clientTest extends TestCase{
private SessionFactory sf;
Session session = null;
PoliceAudit adt = new PoliceAudit();
Transaction tx = null;

@Override
public void setUp(){
sf = new
Configuration().configure().buildSessionFactory();
}
@Override
public void tearDown(){
if(sf != null){
sf.close();
}
}
public void testInsertOfCurd() {
try{
for (int i=1;i<=5;i++){
session = sf.openSession();
Transaction tx = session.beginTransaction();
adt.setCreateDate(java.sql.Date.valueOf("2011-05
-01"));
adt.setAuditType(i+1);
adt.setContentId("test client project");
adt.setCount(i);
adt.setStatus(i);
session.save(adt);
session.flush();
tx.commit();
}
session.close();
}catch(Exception ex){
ex.printStackTrace();

GBase 8a 程序员手册JDBC 篇


- 108 -

南大通用数据技术股份有限公司
}
}
public void testSelectOfCurd(){
try{
session = sf.openSession();
String hql = "from t_police_auditing in class
gbase.hibernate.clienttest.PoliceAudit";

Query q = session.createQuery(hql);
List ls = q.list();
for (int j=0;jtx = session.beginTransaction();
adt = (PoliceAudit)ls.get(j);
}
session.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}


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

- 109 -
7 GBase JDBC 使用示例
本章节共包括15 部分,分别覆盖了以下功能点的样例:
1) 使用JDBC 创建连接;
2) 自动装载JDBC 驱动;
(JDBC4.0 新特性需要jre1.6 及以上版本支持)
3) 通过JDBC 执行查询SQL 语句,并从ResultSet 中读取结果;
4) 通过JDBC 执行DDL 和DML 语句;
5) 通过JDBC 调用存储过程;
6) NATIONAL
Character 相关操作; (JDBC4.0 新特性需要jre1.6 及以上
版本支持);
7) 大对象类型使用;
8) 使用Statement.getGeneratedKeys()获取AUTO_INCREMENT 列的值;
9) 使用SELECT LAST_INSERT_ID()获取AUTO_INCREMENT 列的值;
10) 使用可更新结果集获取AUTO_INCREMENT 列的值;
11) GBase JDBC 在Jboss 应用中使用示例;
12) GBase JDBC 在Tomcat 应用中使用示例.
13) GBase JDBC 集群高可用性(IP 自动路由,需要GBaseJDBC8.3.81.53
及以上版本)
14) GBase JDBC 集群高可用负载均衡(GBaseJDBC8.3.81.5x 及以上版本)

15)GBase JDBC 流式读取使用示例


GBase 8a 程序员手册JDBC 篇


- 110 -

南大通用数据技术股份有限公司