OCI数据类型与C语言数据类型问题

来源:互联网 发布:c语言定义全局变量 编辑:程序博客网 时间:2024/05/22 07:58

通过OCI函数执行数据库sql,提取值到内存中进行处理,执行sql如下

select out_bytes/1024 from bf_discharge_info_t;

使用函数OCIDefineByPos进行绑定时,OCI类型使用的SQLT_INT,导致数据被取整,应该使用SQLT_FLT。

OCI数据类型与C语言数据类型对照表:

表字段类型    OCI类型        C类型 备注  

Number(N)            SQLT_UIN  int 无符号整型 

Number(N)            SQLT_INT  int 有符号整型 
Number(n,m)        SQLT_FLT  float 符点数 
Varchar2(N)           SQLT_CHR   Char 字符串 
Raw(N)             SQLT_BIN        具体看不同的定义 二进制类型,多用于一个结构字段 
DATE SQLT_DAT 无                     最好转换成字符串或数字