Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Answers Viewqa Swing-AWT How to delete and update from Jtable cell in swing app
Login         

View Questions and Answers by Category

Advertisements


 
Have Programming Question? Ask it here!
 
 
 


vikas pandey
How to delete and update from Jtable cell in swing app
0 Answer(s)      2 years and 3 months ago
Posted in : Swing AWT


Hii Sir, I am developing a swing app for adding,updating and deleting from jtable cells to database but i am getting following problems

  1. Whenever i click on delete button on selecting particular row which has to be deleted then last row is getting removed from the jtable but selected row is getting deleted from the database . I want to remove and delete the same row which is selected for the dletion.

  2. updation is happening for state column only and not happening for id,First name,Last name etc..

My Database column structure is :presid(int),firstname(varchar),last name(varchar),state(varchar),date(date).

plz sir help me to solve this problem.I am posting my code. Thanx in advance.

`

import java.awt.BorderLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent;

import java.sql.*; import java.text.ParseException;

import java.text.SimpleDateFormat;

import javax.swing.*; import javax.swing.table.DefaultTableModel;

public class Lesson38 extends JFrame {

static JLabel lFirstName, lLastName, lState, lBirthDate;
static JTextField tfFirstName, tfLastName, tfState, tfBirthDate;
static java.util.Date dateBirthDate, sqlBirthDate;
static ResultSet rows;
// Holds row values for the table
static Object[][] databaseResults;
// Holds column names for the table
static Object[] columns = {"ID", "First Name", "Last Name", "State", "Birth Date"};
// DefaultTableModel defines the methods JTable will use
// I'm overriding the getColumnClass
static DefaultTableModel dTableModel = new DefaultTableModel(databaseResults, columns) {

    public Class getColumnClass(int column) {
        Class returnValue;

        // Verifying that the column exists (index > 0 && index < number of columns

        if ((column >= 0) && (column < getColumnCount())) {
            returnValue = getValueAt(0, column).getClass();
        } else {

            // Returns the class for the item in the co6lumn  

            returnValue = Object.class;
        }
        return returnValue;
    }
};
// Create a JTable using the custom DefaultTableModel
static JTable table = new JTable(dTableModel);

public static void main(String[] args) {

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    // A connection object is used to provide access to a database

    Connection conn = null;

    try {
        // The driver allows you to query the database with Java
        // forName dynamically loads the class for you

        Class.forName("com.mysql.jdbc.Driver");

        // DriverManager is used to handle a set of JDBC drivers
        // getConnection establishes a connection to the database
        // You must also pass the userid and password for the database
        conn = DriverManager.getConnection("jdbc:mysql://localhost/techsoft", "root", "techsoft");

        // Statement objects executes a SQL query
        // createStatement returns a Statement object

        Statement sqlState = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                ResultSet.CONCUR_UPDATABLE);

        // This is the query I'm sending to the database

        String selectStuff = "Select pres_id, first_name, last_name, state, birth from president";

        // A ResultSet contains a table of data representing the
        // results of the query. It can not be changed and can
        // only be read in one direction

        rows = sqlState.executeQuery(selectStuff);

        // Temporarily holds the row results

        Object[] tempRow;

        // next is used to iterate through the results of a query

        while (rows.next()) {

            tempRow = new Object[]{rows.getInt(1), rows.getString(2), rows.getString(3), rows.getString(4), rows.getDate(5)};


            /*
             * You can also get other types 124 * int getInt() 125  * boolean
             * getBoolean() 126 * double getDouble() 127    * float getFloat()
             * 128  * long getLong() 129    * short getShort() 130
             */
            // Add the row of data to the JTable                     
            dTableModel.addRow(tempRow);
        }
    } catch (SQLException ex) {

        // String describing the error

        System.out.println("SQLException: " + ex.getMessage());

        // Vendor specific error code

        System.out.println("VendorError: " + ex.getErrorCode());
    } catch (ClassNotFoundException e) {
        // Executes if the driver can't be found
        e.printStackTrace();
    }

    // Increase the font size for the cells in the table

    table.setFont(new Font("Serif", Font.PLAIN, 15));

    // Increase the size of the cells to allow for bigger fonts

    table.setRowHeight(table.getRowHeight() + 12);
    // Allows the user to sort the data

    table.setAutoCreateRowSorter(true);

    // Adds the table to a scrollpane

    JScrollPane scrollPane = new JScrollPane(table);

    // Adds the scrollpane to the frame

    frame.add(scrollPane, BorderLayout.CENTER);

    // Creates a button that when pressed executes the code
    // in the method actionPerformed

    JButton addPres = new JButton("Add President");

    addPres.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            String sFirstName = "", sLastName = "", sState = "", sDate = "";
            // getText returns the value in the text field

            sFirstName = tfFirstName.getText();
            sLastName = tfLastName.getText();
            sState = tfState.getText();
            sDate = tfBirthDate.getText();

            sqlBirthDate = getADate(sDate);

            try {

                // Moves the database to the row where data will be placed                       
                rows.moveToInsertRow();

                // Update the values in the database

                rows.updateString("first_name", sFirstName);
                rows.updateString("last_name", sLastName);

                rows.updateString("state", sState);
                rows.updateDate("birth", (Date) sqlBirthDate);

                // Inserts the changes to the row values in the database

                rows.insertRow();

                // Directly updates the values in the database

                rows.updateRow();
            } catch (SQLException e1) {

                e1.printStackTrace();
            }

            int presID = 0;

            try {

                // Go to the last row inserted and get the id

                rows.last();
                presID = rows.getInt(1);
            } catch (SQLException e1) {

                e1.printStackTrace();
            }

            Object[] president = {presID, sFirstName, sLastName, sState, sqlBirthDate};
            // Add the row of values to the JTable

            dTableModel.addRow(president);

        }
    });

    JButton removePres = new JButton("Remove President");

    removePres.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            // Will remove which ever row that is selected

            dTableModel.removeRow(table.getSelectedRow()+1);
                System.out.println(table.getSelectedRow());
            try {
                // Moves the database to the row currently selected
                // getSelectedRow returns the row number for the selected row

                rows.absolute(table.getSelectedRow()+1);
                // Deletes the selected row from the database
                System.out.println(table.getSelectedRow());
                rows.deleteRow();

            } catch (SQLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

        }
    });

    // Define values for my labels           
    lFirstName = new JLabel("First Name");
    lLastName = new JLabel("Last Name");
    lState = new JLabel("State");
    lBirthDate = new JLabel("Birthday");

    tfFirstName = new JTextField(15);
    tfLastName = new JTextField(15);
    tfState = new JTextField(15);
    // Set default text and size for text field

    tfBirthDate = new JTextField("yyyy-MM-dd", 10);

    // Create a panel to hold editing buttons and fields
    JPanel inputPanel = new JPanel();

    // Put components in the panel

    inputPanel.add(lFirstName);
    inputPanel.add(tfFirstName);
    inputPanel.add(lLastName);
    inputPanel.add(tfLastName);
    inputPanel.add(lState);
    inputPanel.add(tfState);
    inputPanel.add(lBirthDate);
    inputPanel.add(tfBirthDate);
    inputPanel.add(addPres);
    inputPanel.add(removePres);

    // Add the component panel to the frame

    frame.add(inputPanel, BorderLayout.SOUTH);

    // When the user clicks on a cell they'll be able to change the value

    table.addMouseListener(new MouseAdapter() {

        public void mouseReleased(MouseEvent me) {
            String value = JOptionPane.showInputDialog(null, "Enter Cell Value:");

            // Makes sure a value is changed only if OK is clicked

            if (value != null) {
                table.setValueAt(value, table.getSelectedRow(), table.getSelectedColumn());
            }


            try {
                // Move to the selected row

                rows.absolute(table.getSelectedRow() + 1);

                // Get the name of the selected column
                String updateCol = dTableModel.getColumnName(table.getSelectedColumn());
                System.out.println(updateCol);
                // Previous to Java 1.7 you couldn't use Strings in a Switch
                // If you get an error here it is because you aren't using Java 1.7

                switch (updateCol) {

                    // Uses a different update method depending on the data type

                    case "birth":
                        sqlBirthDate = getADate(value);
                        rows.updateDate(updateCol, (Date) sqlBirthDate);
                        rows.updateRow();
                        break;

                    default:
                        rows.updateString(updateCol, value);
                        System.out.println("Current Row: " + rows.getRow());
                         System.out.println(value);
                        rows.updateRow();
                        break;

                }


            } catch (SQLException e) {
                // Commented out so the user can delete rows
                // e.printStackTrace();                 }
            }
        }
    });


    frame.setSize(1200, 500);
    frame.setVisible(true);

}

// Will convert from string to date
public static java.util.Date getADate(String sDate) {

    SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");

    try {
        dateBirthDate = dateFormatter.parse(sDate);
        sqlBirthDate = new java.sql.Date(dateBirthDate.getTime());
    } catch (ParseException e1) {

        e1.printStackTrace();
    }

    return sqlBirthDate;

}

} `


Advertisement
View Answers

Related Tutorials/Questions & Answers:
How to delete and update from Jtable cell in swing app
How to delete and update from Jtable cell in swing app  Hii Sir, I am developing a swing app for adding,updating and deleting from jtable... is getting removed from the jtable but selected row is getting deleted from
How to update,Delete database values from jtable cells ..
How to update,Delete database values from jtable cells ..  hello Sir... from database into jtable of a jpanel.. Now Sir, According to my need i have to update the cell values from there only means that whatever values i ma entering
Advertisements
How to update,Delete database values from jtable cells ..
How to update,Delete database values from jtable cells ..  Hello Sir, I am working on a project in which i have to fetch the values from database to jtable .Now as per my requirement i need to update and delete the database
How to update,Delete database values from jtable cells ..
How to update,Delete database values from jtable cells ..  Hello Sir... from database to jtable .Now as per my requirement i need to update and delete the database records from the table cells by entering new values there only
delete app from iphone
delete app from iphone  How to delete an existing app from itunes
how to make JTable to add delete and update sql database table
how to make JTable to add delete and update sql database table  Hello all I want to know how to make JTable to act actively to add delete and update database table. i am struck ed here from long time please help me
JTable - Cell selection - Swing AWT
JTable - Cell selection  How to select a cell of a JTable when I... javax.swing.event.*; public class JTableDemo extends JFrame { JTable table; DefaultTableModel tableModel; public JTableDemo() { table = new JTable(10, 5
JTable Cell Validation? - Swing AWT
JTable Cell Validation?  hi there please i want a simple example of JTable with 3 columns Name,Number,Price and the first columns is string... or leave the cell empty nothing happens(the value still as it was) thank you all 
JTable-Selecting a given cell - Swing AWT
JTable-Selecting a given cell  I tried the previous JTableDemo program but how to select a particular cell when i know the row,column number when button is clicked
How to insert and update all column values of database from jtable.
How to insert and update all column values of database from jtable.  ... ,update,delete database values from jtable only so i added three buttons add,update,delete .. mydatabase contains five columns id,name,address,contact,email
How to delete records from jtabel - Swing AWT
How to delete records from jtabel  hello I am using jtabel.... It is working properly.but now i want to delete rows from tabel at a time one row...; JFrame frame = new JFrame("Delete rows in the table!"); JPanel panel
How to insert and update all column values of database from jtable.
How to insert and update all column values of database from jtable.  ... ,update,delete database values from jtable only so i added three buttons add,update...; JButton update; JButton insert; JButton delete; JPanel p; MyTableModel tm
How to insert and update all column values of database from jtable.
How to insert and update all column values of database from jtable.  ... ,update,delete database values from jtable only so i added three buttons add,update...; JButton update; JButton insert; JButton delete; JPanel p; MyTableModel tm
How to create a JTable cell containing Image hyperlink?
How to create a JTable cell containing Image hyperlink?  I'm trying to find out how to create a JTable cell which contains Image, which should... in jTable cell is clicked, I want it to open a pop-up with some message showing
Swing JTable which is retrieved from MySQL
Swing JTable which is retrieved from MySQL  How To Display both image and data into Swing JTable which is retrieved from MySQL database
Setting Cell Values in JTable
Setting Cell Values in JTable       In this section, we will learn how to set the cell... about JTable. A cell is known as the format of  a row and a column in 
Getting Cell Values in a JTable
Getting Cell Values in a JTable       In this tutorial, you will learn how to get the cell values in a JTable component. It is a same as setting the cell values in a JTable
how to create a header in jtable using java swing
how to create a header in jtable using java swing  how to create a header in jtable using java swing   d
How To Display both image and data into Swing JTable which is retrieved from ms access database
How To Display both image and data into Swing JTable which is retrieved from ms access database  So far this is my code how can i display both image and data from database.. while (rs.next()) { Vector row = new Vector(columns
Update delete perticular row from brower on link - Struts
Update delete perticular row from brower on link   how can update and delete perticular row from List of employee in brower format are ramesh... page with textbox update , if delete click then that row also delete from
how update JTable after adding a row into database
how update JTable after adding a row into database  J have two... in JTable, and it's OK, but after adding a row into database table does't update. How update JTable after adding a row into database? package djile pak.java
update a JTable - Java Beginners
update a JTable   how to update a JTable with Mysql data through user... in an updatable JTable You would create the table as follows: conn... = stat.executeQuery("SELECT * FROM register"); ResultSetTableModel model
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
how to delete a jar from mobile
how to delete a jar from mobile  After auto updating a new version of jar from server. I want to delete the old jar from mobile and want to install the new jar which is present in server. Can u tell me the code how to do
Advertisements
 

 

 

DMCA.com