提问一个关于Java中操作Oracle里的CLOB类型数据的问题

当使用select语句从Oracle里取出CLOB类型字段的内容时,假如说该类型字段为空的话,那么CLOB clob=rs.getClob("clobName");执行该语句之后所获取的clob对象是不是等于null 啊,我测试的时候执行该语句后clob对象的.length()方法==0,该对象也为空,不知道是不是这样的?其实这个问题延伸一下的话,就是当在Java里查询Oracle里内容为空的字段时,rs.get()函数是不是都返回null呢?还是各不一样?希望高手们给点指教,小弟刚工作,经验很少,先谢谢了

引用你的话:“我测试的时候执行该语句后clob对象的.length()方法==0,该对象也为空,...”
如果乐的clob对象的length()方法返回0,那么说明clob对象不为null,否则会抛出NullPointerException。

Result的各种get()方法返回的是否为null与方法和数据类型是相关的,如:
String类型getString(),如果Oracle的表中字段为null,则返回null;
int类型的getInt(),如果Oracle的表中字段为null,则返回0;
long类型的getLong(),如果Oracle的表中字段为null,则返回0;
...
这些在JDK的文档中都会有说明的,可以去找一份JDK文件看看。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-22
我写一个 试过可以设置并且取出:参考下在java中调用:
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","SCOTT","pass");
CallableStatement cs = con.prepareCall("{call dim_inout(?,?,?)}");
cs.setInt(1, 7788);
//给第二个?赋值
cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
cs.registerOutParameter(3, oracle.jdbc.OracleTypes.NUMBER);
cs.execute();

String name = cs.getString(2);
double sal = cs.getDouble(3);
System.out.println("7788的用户名是:"+name+"工资是:"+sal);
} catch (Exception e) {
e.printStackTrace();
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网