Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Cannot connect to my database. From what I have gathered it is because I am on a

ID: 3670281 • Letter: C

Question

Cannot connect to my database. From what I have gathered it is because I am on a 64 and the driver I'm trying to connect to is 32. I have searched for drivers, but MS Access doesn't make a 64 driver for Access.

import javax.swing.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

public class GUI extends JFrame
{
   static Connection Con;
   static Statement St;
   static ResultSet RS;
   private JLabel JLFName;
   private JLabel JLLName;
   private JLabel JLAge;
   private JTextField JTFName;
   private JTextField JTLName;
   private JTextField JTAge;
   private JButton NxtBtn, PrvBtn, FstBtn, LstBtn,
   UpdBtn,DelBtn,AddBtn,SveBtn;
   private static final int WIDTH = 900;
   private static final int HEIGHT = 400;

   public GUI()
   {
       NxtBtn = new JButton("Next");
       PrvBtn = new JButton("Previous");
       FstBtn = new JButton("First");
       LstBtn = new JButton("Last");
       UpdBtn = new JButton("Update");
       DelBtn = new JButton("Delete");
       AddBtn = new JButton("Add");
       SveBtn = new JButton("Save");

      
      
       Container MyContain = getContentPane();
       MyContain.setLayout(new GridLayout(8, 8));
       JLFName = new JLabel("First Name");
       JLLName = new JLabel("Last Name");
       JLAge = new JLabel("Age Name");
       JTFName = new JTextField(10);
       JTLName = new JTextField(10);
       JTAge = new JTextField(10);
       //JPanel JP = new JPanel();
       MyContain.add(JLFName);
       MyContain.add(JTFName);
       MyContain.add(JLLName);
       MyContain.add(JTLName);
       MyContain.add(JLAge);
       MyContain.add(JTAge);
       MyContain.add(NxtBtn);
       MyContain.add(PrvBtn);
       MyContain.add(FstBtn);
       MyContain.add(LstBtn);
       MyContain.add(UpdBtn);
       MyContain.add(DelBtn);
       MyContain.add(AddBtn);
       MyContain.add(SveBtn);
       setSize(WIDTH, HEIGHT);
       setVisible(true);
       setDefaultCloseOperation(EXIT_ON_CLOSE);
       Frame();
       BtnAction();
   }

   public static void Connect()
   {
       try
       {
           String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
           Class.forName(driver);
           String Database = "jdbc:odbc:FinalDB";
           Con = DriverManager.getConnection(Database);
           St = Con.createStatement(
                   ResultSet.TYPE_SCROLL_INSENSITIVE,
                   ResultSet.CONCUR_UPDATABLE);
           String sql = "select * from MyTable";
           RS = St.executeQuery(sql);
       }
       catch(Exception ex)
       {
           System.out.println(ex);
       }
   }

  
  
   public static void main(String[] args)
   {
       Connect();
       new GUI();
   }

   public void Frame()
   {
       try
       {
           RS.next();
           JTFName.setText(RS.getString("FName"));
           JTLName.setText(RS.getString("LName"));
           JTAge.setText(RS.getString("Age"));
       }
       catch(Exception ex)
       {  
       }  
   }
   public void BtnAction()
   {
       System.out.println("Called");
       NxtBtn.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent e)
           {
              
               try
               {
                   if(RS.next())
                   {
                       JTFName.setText(RS.getString("FName"));
                       JTLName.setText(RS.getString("LName"));
                       JTAge.setText(RS.getString("Age"));
                   }
                   else
                   {
                       RS.previous();
                       JOptionPane.showMessageDialog
                       (null, "No more records");
                   }
               }
               catch(Exception ex)
               {      
               }
           }
       });
       PrvBtn.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent e)
           {
               try
               {
                   if(RS.previous())
                   {
                       JTFName.setText(RS.getString("FName"));
                       JTLName.setText(RS.getString("LName"));
                       JTAge.setText(RS.getString("Age"));
                   }
                   else
                   {
                       RS.next();
                       JOptionPane.showMessageDialog
                       (null, "No more records");
                   }
               }
               catch(Exception ex)
               {      
               }
           }
       });
       LstBtn.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent e)
           {
               try
               {
                   RS.last();  
                   JTFName.setText(RS.getString("FName"));
                   JTLName.setText(RS.getString("LName"));
                   JTAge.setText(RS.getString("Age"));
               }
               catch(Exception ex)
               {      
               }
           }
       });
       FstBtn.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent e)
           {
               try
               {
                   RS.first();  
                   JTFName.setText(RS.getString("FName"));
                   JTLName.setText(RS.getString("LName"));
                   JTAge.setText(RS.getString("Age"));
               }
               catch(Exception ex)
               {      
               }
           }
       });
       UpdBtn.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent e)
           {
               String FName = JTFName.getText();
               String LName = JTLName.getText();
               String Age = JTAge.getText();
               try
               {
                   RS.updateString("FName", FName);
                   RS.updateString("LName", LName);
                   RS.updateString("Age", Age);
                   RS.updateRow();  
                   JOptionPane.showMessageDialog
                   (null, "Record Updated");
               }
               catch(Exception ex)
               {      
               }
           }
       });
       DelBtn.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent e)
           {
               try
               {
                   RS.deleteRow();
                   St.close();
                   RS.close();
                   St = Con.createStatement(
                       ResultSet.TYPE_SCROLL_INSENSITIVE,
                       ResultSet.CONCUR_UPDATABLE);
                   String sql = "select * from MyTable";
                   RS = St.executeQuery(sql);
                   RS.next();
                   JTFName.setText(RS.getString("FName"));
                   JTLName.setText(RS.getString("LName"));
                   JTAge.setText(RS.getString("Age"));  
               }
               catch(Exception ex)
               {      
               }
           }
       });
       AddBtn.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent e)
           {
               JTFName.setText(" ");
               JTLName.setText(" ");
               JTAge.setText(" ");
           }
       });
       SveBtn.addActionListener(new ActionListener()
       {
           public void actionPerformed(ActionEvent e)
           {
               String FName = JTFName.getText();
               String LName = JTLName.getText();
               String Age = JTAge.getText();
               try
               {
                   RS.moveToInsertRow();
                   RS.updateString("FName", FName);
                   RS.updateString("LName", LName);
                   RS.updateString("Age", Age);
                   RS.insertRow();
                   St.close();
                   RS.close();
                   St = Con.createStatement(
                       ResultSet.TYPE_SCROLL_INSENSITIVE,
                       ResultSet.CONCUR_UPDATABLE);
                   String sql = "select * from MyTable";
                   RS = St.executeQuery(sql);
                   RS.next();
                   JTFName.setText(RS.getString("FName"));
                   JTLName.setText(RS.getString("LName"));
                   JTAge.setText(RS.getString("Age"));
               }
               catch(Exception ex)
               {      
               }
           }
       });  
   }  
}

Explanation / Answer

Pre checks-

First make sure that database jar-file is properly linked.

Make sure server working fine.

** i can see that your code is working fine. i didnt face any issue regarding 64bit machine and editor and 32 bit jar files.

Problem may persists with your background process. and also use updated Jdk

Thank you

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote