Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类型为(字节)的MySQL字段如何显示和“单击打开”_Java_Mysql_Swing - Fatal编程技术网

Java 类型为(字节)的MySQL字段如何显示和“单击打开”

Java 类型为(字节)的MySQL字段如何显示和“单击打开”,java,mysql,swing,Java,Mysql,Swing,我已经插入并可以检索文件pdf,xls,png等没有问题,但我也想显示的方式,我可以点击它打开一些组件,也许文件。这是一回事。 另一个是,我还需要更新一个列中包含此文件的记录,对于这一部分,我还没有解决方案,但检索该文件以再次插入它。 因此,任何建议都是非常受欢迎的。 我使用的是MySQL、netbeans,记录的详细信息显示在JTable中 private void jBsalvarArquivoActionPerformed(java.awt.event.ActionEvent evt)

我已经插入并可以检索文件pdf,xls,png等没有问题,但我也想显示的方式,我可以点击它打开一些组件,也许文件。这是一回事。 另一个是,我还需要更新一个列中包含此文件的记录,对于这一部分,我还没有解决方案,但检索该文件以再次插入它。 因此,任何建议都是非常受欢迎的。 我使用的是MySQL、netbeans,记录的详细信息显示在JTable中

 private void jBsalvarArquivoActionPerformed(java.awt.event.ActionEvent evt) {                                                
    JFileChooser file = new JFileChooser();
    file.setFileSelectionMode(JFileChooser.FILES_ONLY);
    int i = file.showSaveDialog(null);
    if (i == 1) {

    } else {
        File arquivo = file.getSelectedFile();
        JtextFieldLocalArquivo.setText(arquivo.getPath());
         String path = arquivo.getPath();
    }
} 下面是我插入该文件以及其他详细信息的时间

try {
        String newPath = path;
        FileInputStream input = null;

        File theFile = new File(newPath);

        input = new FileInputStream(theFile);

        byte[] bytes = IOUtils.toByteArray(input);
        condutorInfracao.setAnexoAuto(bytes);

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "File Not Loaded!");

    }
更新其中的代码部分:

   try {
        stmt = con.prepareStatement("Select * From responsabilidade where respons_descr = '" + (String) jCResponsabilidadeDescr.getSelectedItem() + "'");
        ResultSet r = null;
        r = stmt.executeQuery();
        List<Responsabilidade> objList = new ArrayList<Responsabilidade>();

        if (r.next()) {
            Responsabilidade obj = new Responsabilidade();
            obj.setResponsId(r.getInt("respons_id"));
            obj.setResponsDescr(r.getString("respons_descr"));

            objList.add(obj);
            condutorInfracao.setResponsabilidade(obj);
            r.close();
            stmt.close();
        }
    } catch (Exception ex) {
        System.out.println(ex);
    }

您必须将该文件下载到本地磁盘,然后可以在系统注册的应用程序中使用类似的方法打开该文件。你是对的。如果您想更新文件,您需要对数据库中的行执行更新谢谢您的回答,但是在这次更新中,我想更新其他字段,我想保留已保存的文件的字段字节。不是新的,但即使我在单击该行的更新时没有更改字段字节,字段字节也会被更新为空…您的更新语句在哪里。?我已经更新了上面的代码,但我认为另一个问题可以给我一个方向:我如何更新行中的某些字段,而让其他字段保持不变?我认为问题可能在于我的操作方式…只是不要在update语句中设置字段的值。。。
 public void update() {
    try {
        transacao = sessao.beginTransaction();
        sessao.update(param_set);
        transacao.commit();
    } catch (HibernateException erro) {
        JOptionPane.showConfirmDialog(null, "Error!" +erro.getMessage());
        transacao.rollback();
    }

}