I have an sql table: User, with one field: NAME.
I created a popup dialog window, where I should type in the Users's name, after that, it should be passed to the column NAME in mysql. So, it is pretty simple but me as beginner got stuck with some error. Is there a way to fix my code to work smoothly?
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.*;
public class Userdialog {
static final String JDBC_DRIVER="com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/mydb";
static final String USER="root";
static final String PASS="";
Connection conn = null;
Statement st = null;
JTextField name;
JButton proceed;
Userdialog(){
JFrame useradd = new JFrame("Add user to database");
useradd.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
name = new JTextField(10);
useradd.setLayout(new GridLayout(0,1));
JPanel pane = new JPanel(new GridLayout(0,1));
useradd.add(pane);
pane.add(new JLabel("First name: "));
pane.add(name);
proceed = new JButton("Add that user");
pane.add(proceed);
proceed.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//HOW TO MAKE IT TO THE SQL TABLE???
try
{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(DB_URL,USER,PASS);
st = (Statement) conn.createStatement();
st.execute("insert into user (name) values('Philip')");
JOptionPane.showMessageDialog(null,"Inserted Successfully!");
}
catch(Exception ex) { ex.printStackTrace(); }
}});
useradd.pack();
useradd.setSize(300,200);
useradd.setVisible(true);
}}
MAIN CLASS
public class Main {
public static void main(String[] args) {
Userdialog mc = new Userdialog();
}}