файл блоба не распознан внутри ячейки - PullRequest
0 голосов
/ 08 декабря 2018

Я пытался более точно распознать файл BLOB-объекта (pdf, word) в ячейку, и в результате получил con.mysql.cj.jdbc.Blob.Если кто-то может помочь определить его и сделать так, чтобы строка появлялась и при нажатии открывал файл.Я не знаю, в чем проблема с моим кодом.

 {
    Connection con = null;
    PreparedStatement pst = null;
    ResultSet rs = null;
    ArrayList<Project> projects = new ArrayList<Project>();
    initComponents();
    DefaultComboBoxModel dcbm = new DefaultComboBoxModel(new String[]{"Project Name", "Department"});
    ComboBoxF.setModel(dcbm);
    try {
        Class.forName("com.mysql.cj.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/gpms_DB?autoReconnect=true&useSSL=false" , "root" , "admin");
        String SQL = "SELECT * FROM `project`";
        pst = con.prepareStatement(SQL);
        rs = pst.executeQuery();
        while (rs.next()) {

            projects.add(new Project(rs.getInt("Project_id"), rs.getString("name"), rs.getDate("Submission_Date"),rs.getBlob("file"), rs.getString("Description"), rs.getInt("Doctors_id")));

        }
        DefaultTableModel model = new DefaultTableModel(0, rs.getMetaData().getColumnCount()){
        public boolean isCellEditable(int x , int y){
        return false;
        }
        };

        jTable2.setModel(model);
        model.setColumnIdentifiers(new String[]{"Project ID", "Project Name", "Submission Date","File", "Description", "Doctor ID"});
        Object[] row = new Object[6];
        for (int i = 0; i < projects.size(); i++) {
            row[0] = projects.get(i).getPid();
            row[1] = projects.get(i).getName();
            row[2] = projects.get(i).getSubmissionDate();
            row[3] = projects.get(i).getfile();
            row[4] = projects.get(i).getDescription();
            row[5] = projects.get(i).getDid();
            model.addRow(row);
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}
...