2015-04-20 156 views
-1

我使用了一个代码,可以让我以图形方式查看处理结果。我想将图存储在MySql数据库中(在WampServer中)。我怎样才能做到这一点?在数据库中存储图像

这是我曾尝试:

if (jCheckBox1.isSelected()) { 
    try { 
     con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt", "root", ""); 
     Statement statement = con.createStatement(rs.TYPE_FORWARD_ONLY, rs.CONCUR_READ_ONLY); 
     String sql1 = "Select last_updated_by,(count(id_incident))*100/(Select count(id_incident) from incident where Status like 'Closed' and open_time between '" + jTextField1.getText() + "' and '" + jTextField2.getText() + "')from incident where Status like 'Closed'and open_time between '" + jTextField1.getText() + "' and '" + jTextField2.getText() + "' group by last_updated_by"; 
     rs1 = statement.executeQuery(sql1); 
     DefaultPieDataset pieDataset = new DefaultPieDataset(); 
     while (rs1.next()) { 
      pieDataset.setValue(rs1.getString("last_updated_by"), rs1.getDouble(2)); 
     } 
     JFreeChart chart = ChartFactory.createPieChart3D("Taux résolution par personne", pieDataset, true, true, false); 
     PiePlot3D piePlot3d = (PiePlot3D) chart.getPlot(); 
     piePlot3d.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}={1}")); 
     fenetre fen1 = new fenetre(); 
     pnl = new JPanel(new BorderLayout()); 
     fen1.setContentPane(pnl); 
     fen1.setVisible(true); 
     setSize(700, 700); 
     ChartPanel cPanel1 = new ChartPanel(chart); 
     pnl.add(cPanel1); 
    } catch (Exception e) { 
     JOptionPane.showMessageDialog(this, e); 
    } 
} 
+0

您也可以在base64中转换图像并将其保存为字符串 –

+0

我该怎么做? – nabil123456

+0

http://stackoverflow.com/questions/6150289/how-to-convert-image-into-base64-string-using-javascript –

回答

2

一般情况下,是的,你可以在MySQL中使用BLOB类型存储任意的二进制数据。一个例子模式:

CREATE TABLE images (
    id INT PRIMARY KEY AUTO_INCREMENT, 
    description VARCHAR(40), 
    data BLOB 
); 

看来你使用的后端Java中,如果这样你应该看看Using Large Objects教程。

但是,有些原因可能你不想这样做;有关这方面的一些讨论见Should I use MySQL blob field type?