Java Database Connect Write a program that views inserts and
Java Database Connect
Write a program that views, inserts, and updates staff information stored in a database, as shown below. The view button displays a record with a specified ID. The Insert button inserts a new record. The Update button updates the record for the specified ID. The Staff table is created as follows: Create table Staff(id char(9) not null, lastName varchar(15), firstName varchar(15), mi char(1), address varchar(20), city varchar(20), state char(2), telephone char(10), email varchar(40), primary key(id));
PLEASE COMMENT CODE, THE MORE COMMENTS THE BETTER :)
Solution
package ex1;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.border.BevelBorder;
public class Exercitiul34_1 extends JApplet
{
private JTextField jtfID = new JTextField(4);
private JTextField jtfLastName = new JTextField(8);
private JTextField jtfFirstName = new JTextField(8);
private JTextField jtfMi = new JTextField(1);
private JTextField jtfAddress = new JTextField(10);
private JTextField jtfCity = new JTextField(10);
private JTextField jtfTelephone = new JTextField(10);
private JTextField jtfState =new JTextField(2);
private JButton jbInsert = new JButton(\"Insert\");
private JButton jbView = new JButton(\"View\");
private JButton jbUpdate = new JButton(\"Update\");
private JButton jbClear = new JButton(\"Clear\");
//statement for executing queries
private Statement stmt;
ResultSet rset;
private Connection connection;
PreparedStatement preparedStatement;
public void init()
{
setLayout(new GridLayout(2, 1));
JPanel panel = new JPanel();
panel.add(new JLabel(\"ID\"));
panel.add(jtfID);
panel.add(new JLabel(\"Last Name\"));
panel.add(jtfLastName);
panel.add(new JLabel(\"First Name\"));
panel.add(jtfFirstName);
panel.add(new JLabel(\"Mi\"));
panel.add(jtfMi);
add(panel, BorderLayout.CENTER);
JPanel panel2 = new JPanel();
panel2.add(new JLabel(\"Address\"));
panel2.add(jtfAddress);
panel2.add(new JLabel(\"City\"));
panel2.add(jtfCity);
panel2.add(new JLabel(\"State\"));
panel2.add(jtfState);
panel2.add(new JLabel(\"Telephone\"));
panel2.add(jtfTelephone);
add(panel2, BorderLayout.CENTER);
initializeDB();
jbInsert.addActionListener(new InsertButton());
jbView.addActionListener(new ViewButton());
JPanel panelB = new JPanel();
panelB.add(jbInsert,BorderLayout.CENTER);
panelB.add(jbView, BorderLayout.WEST);
add(panelB, BorderLayout.SOUTH);
}
//initialize the database
public void initializeDB()
{
//load drivers
try
{
Class.forName(\"com.mysql.jdbc.Driver\");
System.out.println(\"Driver loaded\");
//estabilish connection
connection = DriverManager.getConnection(\"jdbc:mysql://localhost/home\" , \"scott\", \"tiger\");
System.out.println(\"Database connected\");
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//implements the insert button
private class InsertButton implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
try
{
stmt = connection.createStatement();
String sql = \"insert into Staff (id, lastName, firstName, mi, address, city, state, telephone )\" +
\"values (\'\" + jtfID.getText().trim() + \"\',\'\" + jtfLastName.getText().trim() + \"\',\'\" + jtfFirstName.getText().trim()
+ \"\',\'\" + jtfMi.getText().trim() + \"\',\'\" + jtfAddress.getText().trim() + \"\',\'\" +
jtfCity.getText().trim() + \"\',\'\" + jtfState.getText().trim() + \"\',\'\" + jtfTelephone.getText().trim() + \"\')\" ;
stmt.executeUpdate(sql);
System.out.println(\"Ready\");
stmt.close();
}
catch (SQLException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
//implements for view the data field from database
private class ViewButton implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
//establish connection with server
try
{
stmt = connection.createStatement();
String queryString = \"select id,lastName,firstName,mi,address,city,state,telephone from Staff where Staff.id = \'\" + jtfID.getText().trim() + \"\'\";
ResultSet rset = stmt.executeQuery(queryString);
if(rset.next() )
{
String tfID = rset.getString(2);
String tfLastName = rset.getString(8);
String tfFirstName = rset.getString(9);
String tfMi = rset.getString(2);
String tfAddress = rset.getString(10);
String tfCity = rset.getString(10);
String tfState = rset.getString(8);
String tfTelephone = rset.getString(10);
JOptionPane.showMessageDialog(null, tfID + \" \" + tfLastName + \" \" + \" \" + tfFirstName + \" \" + tfMi + \" \" + tfAddress + \" \" +
tfCity + \" \" + tfTelephone + \" \" + tfState);
}
}
catch (SQLException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
}
}





