不更换jdbc 的驱动的前提下。
这个里面有段代码。
http://community.csdn.net/Expert/topic/4809/4809371.xml?temp=.8517877
/**
* 当数据库字段为Text类型时调用
* @param rs
* @param col
* @return
*/
public static String getClobString(ResultSet rs, String col) {
try {
Reader reader = rs.getCharacterStream(col);
if (reader == null) {
return null;
}
StringBuffer sb = new StringBuffer();
char[] charbuf = new char[4096];
for (int i = reader.read(charbuf); i > 0; i = reader.read(charbuf)) {
sb.append(charbuf, 0, i);
}
return sb.toString();
} catch (Exception e) {
return "";
}
}不知道怎么解决这个楼主的,给他发短消息也无影无踪。
这样的方法
getString()取得的是null时候,你可以在把要在画面上显示的值显示成" "!
如if getString("field")==null
{
画面上显示的值="";
}
else
{
画面上显示的值=getString("field")
}
也没有效果。
其实问题的关键不是怎么处理为null的问题,而是只要值为null,而我又用getString()去取的话就会报异常:
[Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes....
。
。希望各位 看完整了 在回答 高人你们怎么解决的呢
这个里面有段代码。
http://community.csdn.net/Expert/topic/4809/4809371.xml?temp=.8517877
/**
* 当数据库字段为Text类型时调用
* @param rs
* @param col
* @return
*/
public static String getClobString(ResultSet rs, String col) {
try {
Reader reader = rs.getCharacterStream(col);
if (reader == null) {
return null;
}
StringBuffer sb = new StringBuffer();
char[] charbuf = new char[4096];
for (int i = reader.read(charbuf); i > 0; i = reader.read(charbuf)) {
sb.append(charbuf, 0, i);
}
return sb.toString();
} catch (Exception e) {
return "";
}
}不知道怎么解决这个楼主的,给他发短消息也无影无踪。
这样的方法
getString()取得的是null时候,你可以在把要在画面上显示的值显示成" "!
如if getString("field")==null
{
画面上显示的值="";
}
else
{
画面上显示的值=getString("field")
}
也没有效果。
其实问题的关键不是怎么处理为null的问题,而是只要值为null,而我又用getString()去取的话就会报异常:
[Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes....
。
。希望各位 看完整了 在回答 高人你们怎么解决的呢
=========
不能吧!
值不为null的时候正常?(怀疑ResultSet 没有取成功)
:先判断一下结果集是否为空呀
1.一个是设置默认为'',还有先统计他是否有数据,没有就用空表示
2.假设表a里面字段a1为Text字段,当查询的时候用select case when datalength(a1)=0 then ' ' else a1 end as a1 from a,第二种方法最笨,数度也不太好如果你觉得都不好可以换一种连接方式,比如jtds,开源网上有的.