http://bbs.csdn.net/topics/90049666
比如有表a,其中一个字段是number类型的,如果在vc中读取这个大数,用什么来读取?
vc中int 和long int都是4个字节的,根本不够用啊?
如果定义一个string s来接受这个整数的话,用otl_stream o;
o>>s;接受的时候,提示错误,因为oracle里面的number不能用string来接受,如果用int i;
o>>i;可以,但是i溢出,得到的值不正确啊,谁遇到过这样的情况,怎么解决的?
不能用char来接收number字段的内容
提示错误如下:
Column: 1<DOUBLE>, datatype in operator <</>>: CHAR
otl_long_string 只能接收oracle数据库中字段为long类型的,number类型的不能用otl_long_string来接收,如果用otl_long_string来接收的话,例如
otl_long_sring ols;
o>>ols; // o 为 otl_stream 类型
提示出错,类似和用char接收number一样的错误,
不是说了嘛
ostream::set_column_type转成字符串
读出来后,
boost::lexical_cast或者自己处理字符串都可以
哎……