JDBC链接SQLServer 2000取text类型字段的问题,解决者100分奉送 InputStream ais=rs.getAsciiStream(3); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不是rs.getString(3)用了两次?如果是这样将你连接数据库的bean中代码改一下,如下:stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);--> stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 我在什么地方取了两次,我取了一次呀,是不是我的BEAN中取得this._intRowCount = rs.getRow() ;的时间用了一次。你给我说的,还真管用,一会我就给你结分。呵呵 唉!我来晚了!不管取也多少次,我觉得最好不要用getString(int)方法来读取text类型的。还是用InputStream ais=rs.getAsciiStream(3);方式会好一些! 不晚,不晚,InputStream ais=rs.getAsciiStream(3);取得以后,我如何打在页面上显示?String _strGetText ;_strGetText = (String)InputStream.toString() ;out.println(strGetText ) ;这样显示出来吗? InputStream ais=rs.getAsciiStream(3);try{ int c; String _strGetText =""; char temp; while((c= ais.read())>-1) { temp=(char)c; _strGetText =_strGetText +temp; } }catch(IOException e){ e.printStackTrace();} 楼上已帮我说了,另外我要补充一下:在这种情况下一般不要用一个String=String+String来进行叠加,这样字符串相加效率很低的,最好用StringBuffer的append()方法,最后再.toString()转为字符串,效率是百分之几90的提高!不妨可做个实验。总之像SQLSERVER的image,text,还有Oracle和DB2的blob,clob等类型的字段(称为大字段)都不要用简单的getString()来获取,都要用流来转换,不然会有意想不到的结果!我就说这么多啦! jsp+java+oracle开发 逻辑写到jsp前台 还是java后台 或者写在oracle的sql语句中 java web 服务器发布 eclipse 编辑jsp中文问题 关于weblogic7的小问题 部署总是出错 求助!上帝,我知道你在,出来吧! jsp通用查询程序 求助 一个概念问题,多个用户同时请求某个Servlet,服务器是生成多个Servlet实例,还是多个线程 寻求打印功能。 struts2中iterator的用法 jsp不会访问数据库,不会使jdbc,郁闷呀,高手帮忙!!! 我想控制已打开的浏览器的外观,有什么办法
如果是这样将你连接数据库的bean中代码改一下,如下:
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
-->
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
方式会好一些!
try
{
int c;
String _strGetText ="";
char temp;
while((c= ais.read())>-1)
{
temp=(char)c;
_strGetText =_strGetText +temp;
}
}catch(IOException e)
{
e.printStackTrace();
}
。总之像SQLSERVER的image,text,还有Oracle和DB2的blob,clob等类型的字段(称为大字段)都不要用简单的getString()来获取,都要用流来转换,不然会有意想不到的结果!我就说这么多啦!