我数据库里的是char类型的字段
但是实际程序里的是varchar类型!也就是设置的变量。
我把生成的SQL直接运行在,ORACLE10G里,一点问题也没有!
但是,程序里却读不出来!
如果直接设置变量就没有问题!
谁知道原因!请指教!
例:SELECT * FROM PERSON WHERE ID='变量' 这样是可以的
SELECT * FROM PERSON WHERE ID=?
STMT.SETSTRING(变量); 这样就查询不出来了
但是实际程序里的是varchar类型!也就是设置的变量。
我把生成的SQL直接运行在,ORACLE10G里,一点问题也没有!
但是,程序里却读不出来!
如果直接设置变量就没有问题!
谁知道原因!请指教!
例:SELECT * FROM PERSON WHERE ID='变量' 这样是可以的
SELECT * FROM PERSON WHERE ID=?
STMT.SETSTRING(变量); 这样就查询不出来了
或where id=rpad(?,10)直接用WHERE ID='变量'
可以理解为'变量'会转成ID的char型,有些类似隐式类型转换
也是用OCI来实现的吗?
我发现用SQLT_STR绑定可以成功,
但SQLT_CHR不能成功得到结果。