这种要用到Blob类型,读出时用Result的getCharacterStream或getBinaryStream,更新时用PreparedStatement 的setCharacterStream或setBinaryStream

解决方案 »

  1.   

    读rs.getString()就行了。
    插入的时候最好用
      sql = "INSERT INTO table (test) VALUES(?)";
      java.sql.PreparedStatement preStmt = conn.prepareStatement(sql);
      preStmt.setString(1,textValue);
      preStmt.execute();
      conn.close();
      

  2.   

    rs.getObject("ziduanming").toString();
    不知道有没有写错,这样应该可以的。
      

  3.   

    取用 getString() 即可
    插入用 ps.setCharacterStream(1 ,reader,length) ;
      

  4.   

    遇到这样一个问题,我用rs.getMetaData().getColumnType(i)取出来的是12(VARCHAR),好象不对啊?因为我查的jdbc文档里面说text的jdbc data type是LONGVARCHAR类型的,我的jdbc driver是个比较旧的,和这个有关系吗?因为我的程序调试的结果的确是12啊。
      

  5.   

    我也遇到过这个问题,以为java不支持text型呢,问了N多人没有人能帮上我,后来在郁闷了两天半后,终于找到原因:如果你有text字段,一定要按字段名的顺序取值,不然就取不出来,我试过N遍,只要顺序不对,马上出错。和用get***方法没有关系。就用getString()就0K了。
      

  6.   

    比如SELECT id,name FROM ...
    读的时候用
    int id = rs.getInt("id");
    String name = rs.getString("name");
    而不能倒过来先读name,再读id.
      

  7.   

    我是一个for循环读的,不可能错的啊,。btw我再找找原因,然后给大家分数!谢谢!
      

  8.   

    http://www.javaresearch.org/article/showarticle.jsp?column=2&thread=4278
    看看这篇文章吧,re-read问题我又碰到了!真是倒霉啊