从数据库里读取的一条数据超长,显示不全,虚心求解!!
问题:插入一条300个字的备注的记录进数据库没有问题;可是从数据库查询读取这条数据库出来的时候 显示就不全了
求教指导
jsp如何显示查询出来的超长的记录 --------------------编程问答-------------------- 可是从数据库查询读取这条数据库出来的时候 显示就不全了
--> 只要sql没错,不可能查询出来的数据不全,除非你jsp里标签写的有问题。 --------------------编程问答-------------------- sql 也没写错哇
<%
/......./
ResultSet rst=stmt.executeQuery("select * from test where ce2 like '%"+ce2+"%'");
while(rst.next())
{
ce3=rst.getString("ce3");
%>
<%=ce3%>
/......../
比如上面的参考语句:我通过ce2 查询显示ce3 ce3 都能正常显示,但如果ce3 的字数太长 就显示不全勒 。 --------------------编程问答-------------------- 如果数据库字段定义没错的话,换种方法读取 --------------------编程问答-------------------- 能举例 说明一下吗?
--------------------编程问答-------------------- 这就是不会debug的悲哀,从你把数据从数据取出来开始看,一直追到程序的最上层也就是即将返回结果给页面的时候,查一下数据是不是对的 --------------------编程问答-------------------- 首先保证数据库插入数据的时候,是完整的,没有被截断。试试rs.getBytes()方法 --------------------编程问答-------------------- 首先保证数据库插入数据的时候,是完整的,没有被截断。试试rs.getBytes()方法 --------------------编程问答-------------------- 真是奇葩的问题啊~~
楼主学学怎么用断点跟踪吧。 --------------------编程问答-------------------- 你看看数据库中的值是多少,我怀疑是你数据库字段长度小了,过了这个长度他后面就不加了,所以你查出来不全,如果库中是全的话而查出来就一部分那真是坑人了... --------------------编程问答-------------------- 楼主是查出的数据就不全 还是jsp显示的数据不全呢 --------------------编程问答-------------------- 同求解决方案 --------------------编程问答-------------------- 神奇的问题…… --------------------编程问答-------------------- 应该是数据库的问题吧.你检查一下数据库的值是不是全的,或许是数据库字段的数据类型插入不了太多的数据.就被截断处理了.所以显示的时候肯定也显示不全啊.可以先通过数据库测试一下. --------------------编程问答-------------------- 是不是显示到jsp页面的时候由于数据太长,所以导致有的部分没有显示出来给遮住了?? 如果是这样的话可以判断一下字符长度,然后换行显示 --------------------编程问答-------------------- 看你用的什么数据库吧。
貌似对有些数据库读数据的时候,会有255的限制。
对于大数据,还是要用blob型。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
[align=left]假设你数据库是CLOB类型
StringArrayParser sap = new StringArrayParser();
Clob clob = //获取你的字段值
Reader reader = clob.getCharacterStream();
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();[/align]
补充:Java , Web 开发