当前位置:编程学习 > JAVA >>

从数据库里读取的一条数据超长,显示不全,虚心求解!!

问题:插入一条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的悲哀,从你把数据从数据取出来开始看,一直追到程序的最上层也就是即将返回结果给页面的时候,查一下数据是不是对的 --------------------编程问答--------------------
引用 4 楼 mary1214 的回复:
能举例 说明一下吗?
首先保证数据库插入数据的时候,是完整的,没有被截断。试试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 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,