我现在在写个OCI程序需要输出结果,我绑定输出变量是这样绑定的。ORACLE表中的字段是日期类型,我绑定的输出变量是char start[20];输出结果是xm我想问下怎样绑定才能得到自己想要的日期值呢?
char start[20];OCIDefineByPos(stmthpp, &bhp4, errhpp, 4, (dvoid *)&gather.start, sizeof(gather.start), SQLT_DAT, NULL, NULL, NULL, OCI_DEFAULT);

解决方案 »

  1.   

    楼主如果不是对象绑定的话,可以把select 语句里面的date类型的那个字段用to_char函数转换成字符串型?
      

  2.   

    这样的话,可以是可以,是种问题解决的方法。但是能不能直接转化呢?利用OCIDefineByPos()绑定输出变量。从ORACLE日期类型直接转化成C字符型呢?我差了下oralce 的 date 类型是结构体。猜测下如果转换成long类型,得到的这个数是不是雷同与time(tmp)呢?哪位大侠还有其他的方法没?