Witam serdecznie.
Mam problem piszę program, który będzie konstruował prostą obudowę głośnikową jednak mam problem przy komunikacji z bazą. Gdy odpalam przykład napotkany w internecie to komunikacja z bazą jest. W tym kawałku nie jest wykonywany blok try/catch i nie wiem co jest tego przyczyną. Gdy odpalę projekt to program zachowuje się tak jakby tego kodu tam w ogóle nie było. Poniżej załączam cały kod w jakim występuje problem:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package easyspeakerbuilder;
import java.awt.Window;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
/**
*
* @author SOpEL
*/
public class DatabaseManagement extends javax.swing.JPanel
{
String DB_URL = "jdbc:postgresql://localhost:5432/EasySpeakerBuilderDatabase";
String USER = "postgres";
String PASS = "databaseadmin";
Connection databaseConnection = null;
Statement databaseStatements = null;
ResultSet databaseData = null;
/**
* Creates new form DatabaseManagement
*/
public DatabaseManagement()
{
initDatabaseConnection();
initComponents();
Window window = SwingUtilities.windowForComponent(this);
}
public void initDatabaseConnection()
{
try
{
Class.forName("org.postgresql.Driver");
databaseConnection = DriverManager.getConnection(DB_URL, USER, PASS);
databaseStatements = databaseConnection.createStatement();
databaseData = databaseStatements.executeQuery("SELECT * FROM speakers");
String data[] = new String[23];
data[0] = databaseData.getString("id");
data[1] = databaseData.getString("marka");
data[2] = databaseData.getString("model");
data[3] = databaseData.getString("b");
data[4] = databaseData.getString("bi");
data[5] = databaseData.getString("l");
data[6] = databaseData.getString("cas");
data[7] = databaseData.getString("cms");
data[8] = databaseData.getString("fs");
data[9] = databaseData.getString("fsa");
data[10] = databaseData.getString("lvc");
data[11] = databaseData.getString("mmd");
data[12] = databaseData.getString("mms");
data[13] = databaseData.getString("qes");
data[14] = databaseData.getString("qms");
data[15] = databaseData.getString("qts");
data[16] = databaseData.getString("ras");
data[17] = databaseData.getString("re");
data[18] = databaseData.getString("res");
data[19] = databaseData.getString("rms");
data[20] = databaseData.getString("sd");
data[21] = databaseData.getString("vas");
data[22] = databaseData.getString("n0");
JOptionPane.showMessageDialog(null, data[1], "Test", JOptionPane.INFORMATION_MESSAGE);
System.out.println(data[1]);
}
catch(SQLException e)
{
JDialog dialog = new JDialog();
JPanel panel = new JPanel();
JLabel label = new JLabel("<html>Wystąpił błąd przy próbie<br>uzyskania dostępu do bazy danych.<br></html>" + e.getMessage(), SwingConstants.CENTER);
JButton button = new JButton();
button.setText("OK");
panel.add(label);
panel.add(button);
dialog.setTitle("Błąd");
dialog.add(panel);
}
catch (ClassNotFoundException ex)
{
Logger.getLogger(DatabaseManagement.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents()
{
jScrollPane1 = new javax.swing.JScrollPane();
databaseDataTable = new javax.swing.JTable();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
databaseDataTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][]
{
{},
{},
{},
{}
},
new String []
{
}
));
jScrollPane1.setViewportView(databaseDataTable);
jTextField1.setText("jTextField1");
jButton1.setText("jButton1");
jButton1.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 646, Short.MAX_VALUE)
.addComponent(jTextField1))
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addGap(30, 30, 30)
.addComponent(jButton1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addComponent(jButton1)
.addContainerGap(87, Short.MAX_VALUE))
);
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
initDatabaseConnection();
}
// Variables declaration - do not modify
private javax.swing.JTable databaseDataTable;
private javax.swing.JButton jButton1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}