SQL BLOB不以null结尾。我怎么做到的?

时间:2014-07-30 13:47:42

标签: java mysql sql sql-server string

所以我使用java SQL api将一些BLOB数据插入表中。但是,由于SQL显然不知道我只想要字符串结束,所以它只是用零填充它。所以我有10个数据字符,最后是数字零。我该如何解决这个问题,并且希望失去所有希望?

public void storeInTable(String data) throws SQLException{

    statement.executeUpdate("INSERT INTO put.data VALUES ('" + data + "', NOW())");
}

2 个答案:

答案 0 :(得分:2)

尝试使用PreparedStatement#setBlob()learn more...

Using Large Objects

上的 Oracle Tutorial 下进行了更好的解释

这是example

示例代码:

ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
preparedStatement.setBlob(index, bais);

答案 1 :(得分:0)

OP在这里。如果有人遇到同样的问题

REPLACE('“+ data +”',CHAR(0),'')

为我工作。您可能想要领导其他人的建议并使用准备好的陈述。