例如下面的例子:
message和repository为blob类型的,在sql语句中应该如何写?
sql="insert into s(message,repository)values('"+message+"','"+repository+"')";
这个写法有问题,保存值不对。
这个应该如何写?
注:message与repository是从另一个表中检索出来的blob类型的值,现在想把其插入到表s中。

解决方案 »

  1.   

    使用PreparedStatement,
    sql语句写成="insert into s(message,repository)values(?,?)";
    然后用setBlob()方法,或直接使用io流方式写入setBinaryStream()。具体方法声明如下:
    public void setBlob(int i,
                        Blob x)
                 throws SQLExceptionpublic void setBinaryStream(int parameterIndex,
                                InputStream x,
                                int length)
                         throws SQLException
      

  2.   

    这个我知道。statement类的sql语句是不是不能用blob类型的参数?
      

  3.   

    好像不行,statement类的sql语句写入的值有问题