使用Java将图像保存到Derby数据库

时间:2015-05-22 10:18:51

标签: java image javafx derby filechooser

我在德比数据库中使用文件选择器保存我的图像有问题。我想构建一个文件选择器方法来从用户获取图像并将图像保存到数据库中。但现在图像不会保存在我的数据库中。 请帮我。 谢谢

我的表格如下:

-- create table LABORATORY(
-- ID INT NOT NULL,
-- TESTERS_ID INT NOT NULL,
-- PATIENTS_ID INT,
-- AZMAYESH BLOB
-- PRIMARY KEY(ID));

我的班级代码:

public class Database {

//FileInputStream fis = null;
//PreparedStatement ps = null;
private Connection connection;
private ResultSet resultSet;
private Statement statement;

public Database() throws SQLException{/*nabayad public bashe*/
    try{
        String userName="reza";
        String password="reza";
        String hostURL="jdbc:derby://localhost:1527/reza";
        connection=DriverManager.getConnection(hostURL,userName,password);
        statement=connection.createStatement(TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

    }
    catch(SQLException err){
        JOptionPane.showMessageDialog(null, err.getMessage());
    }

}
public void azmayesh() throws SQLException, IOException {
    int id=LastIdOf("LABORATORY");
    String INSERT_PICTURE = "insert into LABORATORY(ID,TESTERS_ID,PATIENTS-ID,AZMAYESH) values (?,?,?,?)";
    FileInputStream fis = null;
    PreparedStatement ps = null;

        FileChooser fileChooser = new FileChooser();
        fileChooser.setTitle("Open text file");
        fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
        fileChooser.getExtensionFilters().addAll(
                new FileChooser.ExtensionFilter("image Files", "*.jpg")
        );
        File file = fileChooser.showOpenDialog(null);
        fis = new FileInputStream(file);
        ps = connection.prepareStatement(INSERT_PICTURE);
        ps.setInt(1, id);
        //ps.setInt(2, id);
        //ps.setInt(3, id);
        ps.setBinaryStream(4, fis, (int) file.length());
        ps.executeUpdate();
        JOptionPane.showMessageDialog(null, "Azmayesh Ersal shod.");
        //connection.commit();
        //ps.close();
        //fis.close();
}

}

2 个答案:

答案 0 :(得分:0)

改变这个:

    String userName="reza";
    String password="reza";
    String hostURL="jdbc:derby://localhost:1527/reza";

到这个

    String userName="mysqlusername";
    String password="mysqlpassword";
    String hostURL="jdbc:mysql://localhost:3306/mysqldatabasename";

localhost更改为您的主机名或IP。 3306是MySQL的默认端口。

  

注意:您的类路径中应该有mysql-jdbc-connector。

答案 1 :(得分:0)

global $_pdo;