Hi, piszę prostego klienta bazy danych. W klasie zTest sprawdzam czy uzyskuję połączenie z bazą dachy. W klasie zAddBase chciałbym skorzystać z tego połączenia i wprowadzić do bazy dane.
package baza;
import java.awt.event.ActionEvent;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.sql.*;
class Frame extends JFrame {
String name_base;
Statement st;
public Frame() {
setSize(350, 350);
setTitle("Title");
jtp.add("Test ", new zTest());
jtp.add("Dodanie", new zAddBase());
jtp.add("Comand", new zCommand());
add(jtp);
}
public class zTest extends JPanel {
public zTest() {
connect.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
name_base = fNameBase.getText();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection pol = DriverManager.getConnection("jdbc:mysql://localhost:3306/" + fNameBase.getText(),
fNameUser.getText(),
new String(fPassUser.getPassword()));
st = pol.createStatement();
JOptionPane.showMessageDialog(null, "Polaczono");
} catch (Exception ek) {
JOptionPane.showMessageDialog(null, "Nie udalo sie polaczyc z baza");
}
}
});
setLayout(new java.awt.GridLayout(4, 2));
add(nameBase);
add(fNameBase);
add(nameUser);
add(fNameUser);
add(passUser);
add(fPassUser);
add(connect);
}
String name;
String user;
String pass;
JButton connect = new JButton("Connetc");
JLabel nameBase = new JLabel("Nazwa: ");
JLabel nameUser = new JLabel("Uzytkownik: ");
JLabel passUser = new JLabel("Haslo: ");
JTextField fNameBase = new JTextField("Name Base");
JTextField fNameUser = new JTextField("Name User");
JPasswordField fPassUser = new JPasswordField("Pass");
}
public class zAddBase extends JPanel {
public zAddBase() {
for (int i = 0; i < 4; i++) {
add(labs[i]);
add(fields[i]);
}
addbutton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String polecenie = "insert into" + name_base+ " (Nazwa, Rozmiar, Own, Uwagi) values(" +
fields[0].getText() + "," + fields[1].getText() + "," +
fields[2].getText() + "," + fields[3].getText() + ");";
try {
st.executeUpdate(polecenie);
st.close();
JOptionPane.showMessageDialog(null, "Zapisano dane");
} catch (Exception ek) {
JOptionPane.showMessageDialog(null, "Blad zapisu danych");
}
validate();
}
});
add(addbutton);
}
JLabel labs[] = {new JLabel("Naza: "), new JLabel("Rozmiar: "), new JLabel("Wlasciciel: "), new JLabel("Uwagi: ")};
JTextField fields[] = {new JTextField(50), new JTextField(50), new JTextField(50), new JTextField(50)};
JButton addbutton = new JButton("Add");
}
private class zCommand extends JPanel {
public zCommand() {
}
}
JTabbedPane jtp = new JTabbedPane();
}
public class Main {
public static void main(String[] args) {
Frame x = new Frame();
x.setVisible(true);
}
}
Będę wdzięczny za podpowiedz dlaczego nie mogę się z bazą połączyć.