打印出存储在sqlite数据库中的图像

时间:2014-07-15 10:55:10

标签: java eclipse sqlite

我可以打印出数据库中的所有其他信息(namebio)。但是当我尝试打印出图像时,它在eclipse终端窗口中显示为image:????

我目前刚接触编程,所以我不知道该怎么做。

我的代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.* ;  // for standard JDBC programs
import java.math.* ; // for BigDecimal and BigInteger support

public class Database {
     public static void main(String[] args) {

          Connection connection = null;
          ResultSet resultSet = null;
          Statement statement = null;

          try {
               Class.forName("org.sqlite.JDBC");
               connection = DriverManager
                         .getConnection("jdbc:sqlite:C:\\Users\\Mariam\\Documents\\GoogleApp\\info.sqlite");


               statement = connection.createStatement();
               resultSet = statement
                         .executeQuery("SELECT name, bio, image FROM PeoplesInfo");
               while (resultSet.next()) {
                    System.out.println("NAME:"
                              + resultSet.getString("name"));
                    System.out.println("Bio:"
                            + resultSet.getString("bio"));
                    System.out.println("Image:"
                            + resultSet.getString("Image"));

               }




          } catch (Exception e) {
               e.printStackTrace();
          } finally {
               try {
                    resultSet.close();
                    statement.close();
                    connection.close();
               } catch (Exception e) {
                    e.printStackTrace();
               }
          }
     }



}

结果:

NAME:James May
Bio:22, Working, 
Image:????
NAME:Lala
Bio:40, Working, etc
Image:????

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

你需要首先得到一个blob,然后“转换为字符串”,有些事情与此类似:

Blob b = resultSet.getBlob("image");
byte[] bdata = blob.getBytes(1, (int) blob.length());
System.out.println(new String(bdata));
相关问题