谢谢大家的关注。 我的意思是,做一个通用的查询方法,参数有要执行sql,以及该sql所需要的参数数据,参数数据放到一个hash里,key为参数名称,值为参数值,并且是以字符串形式存放的。这样,在执行sql时需要先获取这个sql中有是否需要绑定参数,如果有的话,参数的名称和类型都是什么。这样就可以通过参数名称到hash中获取该参数的值了,并且根据参数类型把获取的字符串转换成相应的类型值。 比如:sql为:select a from tab where b = :para1 b为number类型 hash中的键值对为:para1------> val1 para2------> val2 para3------> val3 这样就可以先根据para1这个参数名称到hash中获取相应的值val1,然后把val1转换成double或float之后在绑定到sql上。我现在想知道的就是在oci中是否有办法可以在只知道sql的情况下获取该sql需要绑定的参数名称和类型。
你必须先知道需绑定的变量和类型呀
你得必须先知道需绑定的变量和类型,我也这样认为
我的意思是,做一个通用的查询方法,参数有要执行sql,以及该sql所需要的参数数据,参数数据放到一个hash里,key为参数名称,值为参数值,并且是以字符串形式存放的。这样,在执行sql时需要先获取这个sql中有是否需要绑定参数,如果有的话,参数的名称和类型都是什么。这样就可以通过参数名称到hash中获取该参数的值了,并且根据参数类型把获取的字符串转换成相应的类型值。
比如:sql为:select a from tab where b = :para1 b为number类型
hash中的键值对为:para1------> val1
para2------> val2
para3------> val3 这样就可以先根据para1这个参数名称到hash中获取相应的值val1,然后把val1转换成double或float之后在绑定到sql上。我现在想知道的就是在oci中是否有办法可以在只知道sql的情况下获取该sql需要绑定的参数名称和类型。
想问问 OCIStmtGetBindInfo 怎么使用的阿
可否把你的部分程序贴上来 参考一下呢?
万分谢谢