java - SQL BLOB 不以空值结尾。我该怎么做?

标签 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())");
}

最佳答案

试试PreparedStatement#setBlob() . learn more...

Using Large Objects 上的 Oracle 教程 下有更好的解释。

这是一个 example

示例代码:

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

关于java - SQL BLOB 不以空值结尾。我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25038547/

相关文章:

sql - 每个唯一 ID 的最小值

SQL:查询同一个表中的一列

Java Apache Commons getPercentile() 与 MS Excel 百分位数不同的结果

java - OSX 上的 DBeaver - 返回空连接

mysql - 为什么我的程序返回的值与我的查询不同?

sql - 选择最高薪水

mysql - SQL 按包含的字符串排序

Java,首先从 O(n) 时间复杂度的数组中复制值

java - 在java中使用数组作为乘法表

mysql - 需要创建一个 Action 查询来在电影列表中搜索一个字符串并生成与该字符串匹配的电影标题和导演