Skip to main content

Database Operation Using Java

/* File Name : DataBase.java */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.sql.SQLException;


public class AddressBookMySql extends JFrame
{
   private DataPanel myDataPanel;
   private Connection dbconn=null;
   //Connection con = null;
   int numberPeople=0;
   //private static int numPeople=0;
   private static String info;
   private static JTextArea txtInfo=new JTextArea( 8, 40 ); //8 rows 40 cols needs to be here to speak
                                                            //across classes
       public AddressBookMySql()
       {
              super("This is my Phone Book which calls a database, La La La");
              GridLayout myGridLayout= new GridLayout(3,1); //3 rows 1 col allows 3 panels
              Container p = getContentPane();
              myDataPanel=new DataPanel();
               p.add(myDataPanel);
               myDataPanel.setLayout(myGridLayout);
               //Statement stmt;
               //Statement stmt2;

               //ResultSet rs;
               //ResultSet rs2;
               // Define URL of database server for
               // database named 'user' on the faure.
               String url;
        //*********************************
        try
         {
            System.out.println("bang");
             //url = "jdbc:mysql://localhost/test";
             url = "jdbc:odbc:myaddressbook4";
            //Class.forName ("com.mysql.jdbc.Driver").newInstance ();
            //url = "jdbc:mysql://localhost//myaddressbook4";
         
             Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
             dbconn = DriverManager.getConnection (url, "root", "student");
             System.out.println("bang");
           

              //url ="jdbc:mysql://localhost/" +"test"+ "?user=root&password=" +"student"+ "&useUnicode=ue&characterEncoding=gb2312"; //original
            dbconn = DriverManager.getConnection( url );
            info="Connection successful\n";
      }
      catch ( ClassNotFoundException cnfex )           //yes 3 catches
      {
            cnfex.printStackTrace();
            info=info+"Connection unsuccessful\n" + cnfex.toString();
      }
      catch ( SQLException sqlex )
      {
            sqlex.printStackTrace();
            info=info+"Connection unsuccessful\n" +sqlex.toString();
      }
      catch ( Exception excp )
      {
            excp.printStackTrace();
            info=info+excp.toString();
      }
      //**********************************

        txtInfo.setText(info);   //sets connection information
              setSize(500,290);
              setVisible(true);
       }
       public static void main(String args[])
       {
              AddressBookMySql myAddressBookMySql= new AddressBookMySql();
              myAddressBookMySql.addWindowListener
              (
                     new WindowAdapter()
                     {
                           public void windowClosing(WindowEvent e)
                           {
                                  System.exit(0);
                           }
                     }
              );
       }
   //*******************************
   class DataPanel extends JPanel implements ActionListener
   {
           JLabel lblIDCap= new   JLabel("Record Number");
           JLabel lblLast=new JLabel("Last Name");
              JLabel lblFirst=new JLabel("First Name");
              JLabel lblPhone=new JLabel("Phone Number");
              //JTextArea txtInfo=new JTextArea();
              JLabel lblID=new JLabel("          "); //10 spaces
              JTextField  txtLast=new JTextField(10);
              JTextField  txtFirst=new JTextField(10);
              JTextField  txtPhone=new JTextField(10);

              JButton btnAdd=new JButton("Add Record");
              JButton btnFind=new JButton("Find Record");
              JButton btnDelete=new JButton("Delete Record");
              JButton btnUpdate=new JButton("Update Record");        //**
              JButton btnClear=new JButton("Clear");
              JButton btnExit=new JButton("Exit");

              public DataPanel()
              {
                     JPanel myPanel = new JPanel();
                     JPanel myPanel2 = new JPanel();
                     JPanel myPanel3 =new JPanel();                     //**
                     myPanel.setLayout(new GridLayout (4,2)); //4 rows 2 cols
                     myPanel2.setLayout(new GridLayout (2,3)); //2 rows 3 cols
                     myPanel3.setLayout(new GridLayout(1,1)); //1 row 1 col
                      add(myPanel);
                      add(myPanel2);
                      add(myPanel3);                                     //**
                     myPanel.add(lblIDCap);
                     myPanel.add(lblID);
                     myPanel.add(lblLast);
                     myPanel.add(txtLast);
                     myPanel.add(lblFirst);
                     myPanel.add(txtFirst);
                     myPanel.add(lblPhone);
                     myPanel.add(txtPhone);
                     myPanel2.add(btnAdd);
                     myPanel2.add(btnFind);
                     myPanel2.add(btnDelete);
                     myPanel2.add(btnUpdate);
                     myPanel2.add(btnClear);
                     myPanel2.add(btnExit);
                     myPanel3.add( new JScrollPane(txtInfo));           //**
                     //puts txtInfo on application and allows it to scroll
                     btnAdd.addActionListener(this);
                     btnFind.addActionListener(this);
                     btnUpdate.addActionListener(this);
                     btnClear.addActionListener(this);
                     btnExit.addActionListener(this);
                     btnDelete.addActionListener(this);
              }
              public void actionPerformed(ActionEvent event)
              {
                     String ID="";     //must initialize to ""
                     String Last="";
                     String First="";
                     String Phone="";
                     Object source=event.getSource();
                     ID=lblID.getText().trim();
                     lblID.setText(ID);
                     Last=txtLast.getText().trim();  //removes additional characters
                      txtLast.setText(Last);          //sets fields in their places
                      First=txtFirst.getText().trim();
                     txtFirst.setText(First);
                     Phone=txtPhone.getText().trim();
                     txtPhone.setText(Phone);
                     if (source.equals(btnAdd))
                     {
                       //********************************
                  try {
                        Statement statement = dbconn.createStatement();
                        if ( !Last.equals( "" ) &&
                              !First.equals( "" ) &&
                                    !Phone.equals("") )
                                    {
                               String temp = "INSERT INTO phonelistTable (" +
                                  "Last, First, " +
                                  "Phone" +
                                  ") VALUES ('" +
                                  Last   + "', '" +
                                  First  + "', '" +
                                  Phone  +  "')";
                                  txtInfo.append( "\nInserting: " +
                                  dbconn.nativeSQL( temp ) + "\n" );
                            int result = statement.executeUpdate( temp );
                            if ( result == 1 )
                            { //confirming insertion
                                 //txtInfo.append("\nInsertion successful\n");
                                 String query="";
                                 try
                                 {
                                   query = "SELECT * FROM phonelistTable WHERE First='" +
                                   First + "' AND Last= '" + Last + "'";
                                   ResultSet rs = statement.executeQuery( query );
                                  rs.next();
                                    lblID.setText(String.valueOf(rs.getInt(1)));
                                 }
                                catch ( SQLException sqlex )
                                {
                                   txtInfo.append( sqlex.toString() );
                                }
                           }
                           else
                           {
                               txtInfo.append( "\nInsertion failed\n" );
                               txtFirst.setText( "" );
                               txtLast.setText( "" );
                               txtPhone.setText( "" );
                            }
                          }
                          else
                            txtInfo.append( "\nEnter last, first, and " +
                               "phone, then press Add\n" );
                         statement.close();
                      }
                      catch ( SQLException sqlex )
                      {
                         txtInfo.append( sqlex.toString() );
                            txtFirst.setText("Entry already exists -- re-enter");
                      }
                  }
                //****************************
              if (source.equals(btnFind))
              {
                     try
                     {
                       if ( !Last.equals("") && !First.equals(""))
                       {

                              Statement statement =dbconn.createStatement();
                              String query = "SELECT * FROM phonelistTable " +
                                 "WHERE First = '" +
                                 First + "'"+
                                 " AND Last = '" +
                                 Last + "'";
                                 txtInfo.append( "\nSending query: "   +
                                    dbconn.nativeSQL( query ) + "\n" );
                                 ResultSet rs = statement.executeQuery( query );
                                 display( rs );
                                 statement.close();
                        }
                        else
                          txtLast.setText("Enter last name and First name"+
                                           " then press Find" );
                     }
                     catch ( SQLException sqlex )
                     {
                             txtInfo.append( sqlex.toString() + sqlex.getMessage() );
                     }
               }
   //******************************************
    if (source.equals(btnUpdate))
    {
              try
              {
                  Statement statement = dbconn.createStatement();
                  if ( ! lblID.getText().equals(""))
                  {
                           String temp = "UPDATE phonelistTable SET " +
                             "First='" + txtFirst.getText() +
                             "', Last='" + txtLast.getText() +
                             "', Phone='" + txtPhone.getText() +
                             "' WHERE id=" + lblID.getText();
                             txtInfo.append( "\nUpdating: " +
                                dbconn.nativeSQL( temp ) + "\n" );
                                 int result = statement.executeUpdate( temp );
                                 if ( result == 1 )
                             txtInfo.append( "\nUpdate successful\n" );
                          else {
                             txtInfo.append( "\nUpdate failed\n" );
                             txtFirst.setText( "" );
                             txtLast.setText( "" );
                             txtPhone.setText( "" );
                          }
                        statement.close();
                       }
                       else
                          txtInfo.append( "\nYou may only update an " +
                                         "existing record. Use Find to " +
                                         "\nlocate the record, then " +
                                         "modify the information and " +
                                         "\npress Update.\n" );
                    }
                    catch ( SQLException sqlex ) {
                         txtInfo.append( sqlex.toString() );
             }
         }
         //********************************************
         if (source.equals(btnDelete))
         {
              try
              {
                         Statement statement = dbconn.createStatement();
                         if ( ! lblID.getText().equals(""))
                         {
                                    System.out.print(lblID.getText());
                                     String temp = "DELETE from phonelistTable " +
                                               " WHERE id=" + lblID.getText();
                                               txtInfo.append( "\nDeleting: " +
                                               dbconn.nativeSQL( temp ) + "\n" );

                                  int result = statement.executeUpdate( temp );
                                   if ( result == 1 )
                                 {
                                         txtInfo.append( "\nDeletion successful\n" );
                               }
                               else
                            {
                                  txtInfo.append( "\nDeletion failed\n" );
                                  txtFirst.setText( "" );
                                  txtLast.setText( "" );
                                   txtPhone.setText( "" );
                             }
                             statement.close();
                      }
                       else
                        txtInfo.append( "\nYou may only delete an " +
                        "existing record. Use Find to " +
                        "\nlocate the record, then " +
                       "press delete.\n" );
            }
             catch ( SQLException sqlex )
             {
                       txtInfo.append( sqlex.toString() );
             }
          }
           //********************************************
          if (source.equals(btnClear))
          {
              txtLast.setText("");
              txtFirst.setText("");
              txtPhone.setText("");
              lblID.setText("");
          }
           //********************************************
           if (source.equals(btnExit))
           {
                           System.exit(0);
           }
          }
              //********************************************
          public void display( ResultSet rs )
          {
             try
             {
                rs.next();
                int recordNumber = rs.getInt( 1 );
                if ( recordNumber != 0 )
                {
                   lblID.setText( String.valueOf(recordNumber) );
                   txtLast.setText( rs.getString( 2 ) ); //2 is second column in database
                   txtFirst.setText( rs.getString( 3 ) ); //3 is third column in database
                   txtPhone.setText( rs.getString( 4 ) );
                }
                else
                {
                        txtInfo.append( "\nNo record found\n" );
                }
            }
            catch ( SQLException sqlex )
            {
                     txtInfo.append( "\n*** Phone Number Not In Database ***\n" );
            }
         }
   }
}

Comments

Popular posts from this blog

Login and Registration Example in JSP with Session

Those who want to start with jsp and MySQL, this is an excellent example for themselves. Here you can learn how to insert data to MySQL using JSP. Also you can learn about session handling in jsp. 1 2 3 4 5 6 7 8 9 10 CREATE TABLE `members` (    `id` int (10) unsigned NOT NULL auto_increment,    `first_name` varchar (45) NOT NULL ,    `last_name` varchar (45) NOT NULL ,    `email` varchar (45) NOT NULL ,    `uname` varchar (45) NOT NULL ,    `pass` varchar (45) NOT NULL ,    `regdate` date NOT NULL ,    PRIMARY KEY   (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; index.jsp 1 2 3 4 5 6 ...

Timer funcitons in JavaScript: Reminder Script

Timers are used in web pages and we will discuss how to setup one and how to use one with an example. The function setTimeout() in function is used and here is its general syntax. mytime = setTimeout(expression, msec); mytime  is the identifier used to identify the current timeout function.  expression  is the statement that is to be executed after the specified time has ticked off.  msec  is the duration of time in milliseconds after which the expression will be executed.  You can see by using setTimeout function we can execute any function or object after a set of time. For example if msec is set 5000 then the expression will be executed after 5 seconds or 5000 milliseconds.  We will try one example where we will have four period buttons and each button will set a different time for another function to execute and display a alert button. We will call it as a reminder script and we will get one alert box based on the period button we click...

Binary Addition

/* File Name : BinAdd.java */    import java.util.*; public class BinAdd    {  public static String addBit(String a, String b, String c)  { String r=""; if(a.equals("1") && b.equals("0") || a.equals("0") && b.equals("1")) { if( c.equals("0")) r="1"; else { r="0"; c="1"; } } else if( a.equals("0") && b.equals("0") ) { if(c.equals("0")) r="0"; else r="1"; } else if( a.equals("1") && b.equals("1") ) { if(c.equals("0")){ r="0"; c="1"; } else { r="1"; c="1"; } } return c+r; }   public static String add(String a, String b)   { String r=""; int len=a.length(); String carry="0"; for(int i=len-1;i...

Real time changing Clock showing date and time

We can display a clock which will be showing the local time of the client computer by using JavaScript. Note that this time displayed is taken from user computer and not from the server.  We have seen in our  date object example how to display current date and time   where the current date and time is displayed once. Here we will try to display changing clock or real time change in date and time by using  setTimeout function . This setTimeout function we have used to trigger the time display function in a refresh rate of 1000 mill seconds ( 1 Sec ). This refresh rate can be changed to any other value. By changing the value to 5000 the clock will refresh and show the exact time once in every 5 seconds.  Here is the demo of this script and code is given below that.  Sat Apr 23 2016 08:27:22 GMT+0530 (IST)   Here is the code <html> <head> <title>(Type a title for your page here)</title> <script type="text/javascript...