论坛首页 入门技术论坛

数据库存byte[]问题

浏览 2278 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-12-17  
    写个小程序,发现个小问题.
      String str="abcdefjackd1234567";
      byte bytes[]=str.getBytes();
      String sql="insert into test(srccontend) values(?)";
      PreparedStatement pst=conn.prepareStatement(sql);
      pst.setBytes(1,bytes);
      pst.executeUpdate();

     
      将 bytes[]增加到数据后,再取出
       sql="select srccontend from guest where id=60";
      pst=conn.prepareStatement(sql);
      ResultSet rs=pst.executeQuery();
      byte []b=null;
      if(rs.next()){
       b=rs.getBytes("srccontend");
       System.out.println("b==="+b);
      }
       //通过byte[]还原字符串
       	System.out.println("new String(b)==="+new String(b));  //从数据库中取出不行
	System.out.println("new String(bytes)==="+new String(bytes)); //这个可以

    我不明白,为什么从数据库中,取出来的 byte[]不行呢?
   jdk 1.6,数据库 mysql 5.0,srccontend数据类型,我用varchar和text都试过,不行.
  想问下,如果我把String 转成byte[]存到数据库,再取出来,还原到String,如何实现呢?
   发表时间:2007-12-17  
blob

0 请登录后投票
   发表时间:2007-12-17  
mysql编码问题
0 请登录后投票
   发表时间:2007-12-17  
  我改了 blob还是不行的。
    mysql编码问题?
  我想在就是想把 String变成byte[]存到数据库,然后取出来,还原成String.
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics