【发布时间】:2020-08-30 22:55:59
【问题描述】:
我正在尝试通过 swing GUI 应用程序将图像上传到 mysql。
我遇到的问题是更新图像(blob)。 插入和选择工作正常,与其他 int 相同的更新查询,字符串字段也工作正常。
try {
File sel = new File(path);
String a = sel.toURI().toString();
InputStream FIS = new FileInputStream(sel);
String insert_sql = "INSERT INTO cal (user_id, time, image) "
+ "VALUES(?,?,?)"
+ "ON DUPLICATE KEY UPDATE image = ?;"; // 만약 key가 있다면 update.
PreparedStatement preparedStmt = conn.prepareStatement(insert_sql);
preparedStmt.setInt(1, user_id);
preparedStmt.setString(2, date);
preparedStmt.setBlob(3, FIS);
preparedStmt.setBlob(4, FIS);
preparedStmt.execute();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
如果没有相同的密钥,那么插入图像就可以了。 但是,如果存在具有相同 ID 的行,无论“图像”列是否为空,则它会给出空输出。 此外,正如我在顶部提到的,此查询适用于其他字符串、整数字段。
提前感谢您的帮助。
【问题讨论】: