请教在oci 程序中,如何传入绑定一个__int64的数值(win7 (32位系统),oracle10g) 可以转换字符串,然后取值的时候取出字符串后再转换会INT64 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种方法我也考虑过,不过想想不太方便,毕竟oci 直接提供了方法吧。不过我用: hOciHandle.errCode =OCINumberFromInt(hOciHandle.hErr,value,sizeof(__int64),OCI_NUMBER_SIGNED,(OCINumber*)&number); doError(hOciHandle.errCode);这种转换后再传进去也是失败。 直接拼写SQL, 不用bind方式。 //调用bindvoid bindInputTest(char* sFieldName,void* value){ OCIBind* bind; hOciHandle.errCode =OCIBindByName(hOciHandle.hSql,&bind,hOciHandle.hErr, (OraText*)sFieldName,strlen(sFieldName),(void*)value,4,SQLT_INT, NULL,NULL,NULL,0,NULL,OCI_DEFAULT); doError(hOciHandle.errCode);}//调用方式,能找到数据。 int ii=22222; bindInputTest("id_nummber",&ii); //但是,如果我这样使用,就是再调用一个函数,函数里调用这个:bindInputTest() 函数就找不到数据了 //调用bindvoid bindInputTest123(){ int ii=22222; bindInputTest("id_nummber",&ii)}表里的数据都很少,肯定都小于 int 32位的范围。----这是为什么啊? bindInputTest123 函数调用完,ii已经被回收,&ii内存对应的数据已经不再是 22222 了 为何CFile 的Write写不进? 急问: sql 中 Insert语句的问题 VC6总是安装不成功,有人知道原因吗? Post不是IAccount的成员???? 关于画椭圆的问题:线宽增加回变形 绝对高手请进!!! 用什么工具可以查看LIB文件?VC生成的LIB库如何被其他开发工具调用编译? 请教高手:一个显卡上接两个显示器,实现 运行程序缺少一些dll文件 VC++对数据表之间的关系如何操作?2 如何读取物理内存 怎么实现鼠标移到位图按钮上时,位图按钮变大,移开后又恢复原样
不过我用:
hOciHandle.errCode =OCINumberFromInt(hOciHandle.hErr,value,sizeof(__int64),OCI_NUMBER_SIGNED,(OCINumber*)&number);
doError(hOciHandle.errCode);
这种转换后再传进去也是失败。
//调用bind
void bindInputTest(char* sFieldName,void* value)
{
OCIBind* bind;
hOciHandle.errCode =OCIBindByName(hOciHandle.hSql,&bind,hOciHandle.hErr,
(OraText*)sFieldName,strlen(sFieldName),(void*)value,4,SQLT_INT,
NULL,NULL,NULL,0,NULL,OCI_DEFAULT);
doError(hOciHandle.errCode);
}//调用方式,能找到数据。
int ii=22222;
bindInputTest("id_nummber",&ii);
//但是,如果我这样使用,就是再调用一个函数,函数里调用这个:bindInputTest() 函数就找不到数据了
//调用bind
void bindInputTest123()
{
int ii=22222;
bindInputTest("id_nummber",&ii)
}表里的数据都很少,肯定都小于 int 32位的范围。----这是为什么啊?