How to retrieve BLOB image from the database and in which data type?
我有以下结构。我将一些表连接在一起以从我的 SQL 数据库中获取结果。我有一列实际上存储了一个 BLOB 图像。我想知道如何在变量中检索此信息,然后可以使用该变量在图形用户界面(例如摆动窗口)中加载此图像。
这是我如何读取数据库的其他 - 字符串 - 字段的代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ResultSet result = statement.executeQuery(SQLQuery); ResultSetMetaData metaData = rs.getMetaData(); while (result.next()) { for (int i = 1; i <= columnsNumber; i++) { String AttributeName = metaData.getColumnName(i); String AttributeValue = result.getString(i); if(AttributeName =="UserName") { String userName = AttributeValue; } if(AttributeName =="UserImage") { //code here to get the BLOB user Image.? } } } |
最后一个想法是,如何使用给定的图片(来自文件系统)将此图像作为 BOLB 存储在数据库中?
干杯。
我读到了这个,但我认为这个实现对我没有帮助。
你去吧,只需整合你和我的循环:
1 2 3 4 5 6 7 8 9 10 11 12 13 | while (resultSet.next()) { // String name = resultSet.getString(1); // String description = resultSet.getString(2); File image = new File("your path"); FileOutputStream fos = new FileOutputStream(image); byte[] buffer = new byte[1]; InputStream is = resultSet.getBinaryStream(3); while (is.read(buffer) > 0) { fos.write(buffer); } fos.close(); } |
当然记得要正确修改path和InputStream is = resultSet.getBinaryStream(3);线。祝你好运!