When I click on Button which fetch records from the database it works fine

public void fetchrecords()  throws SQLException
    {
    Statement stmt = null;
        String query = "select * from Employer where Fileno=1";
        try {
            stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
             rs = stmt.executeQuery(query);
            while (rs.next())
            {
                firstNameTextField.setText(rs.getString(2));
                lastNameTextField.setText(rs.getString(3));
                addressTextField.setText(rs.getString(4));
                //and more records.
                }
                }   
    }

But when I click on Next button shows me this error

com.microsoft.sqlserver.jdbc.SQLServerException: The concurrency is not supported.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.<init>(SQLServerStatement.java:464)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement(SQLServerConnection.java:2157)
    at Miglayout.nextrecord(Miglayout.java:439)
    at Miglayout.actionPerformed(Miglayout.java:528)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6505)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6270)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4861)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:702)
    at java.awt.EventQueue$4.run(EventQueue.java:700)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

and here is the code on that Button next

public void nextrecord()
    {
        Statement stmt = null;
        String query = "select * from Employer";
        try {
            stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.FETCH_FORWARD);
             rs = stmt.executeQuery(query);

        if (rs.first())     
        {
            rs.next();
            firstNameTextField.setText(rs.getString(2));
            lastNameTextField.setText(rs.getString(3));
            addressTextField.setText(rs.getString(4));

            }
            }

It does not take me to the next record?

Edited 3 Years Ago by chdboy

Hi,
Which driver are you using? Microsoft old version will not support sensitive and updatable resultset. Check the following link for more details
Click Here
Regards
Bhanu Teja Motupalli

Edited 3 Years Ago by bhanu1607

Comming back to the similar problem with ResultSet
I'm not able to move forward with the ResultSet with this code on "next Button"

Statement stmt = null;
        String query = "select * from Employer";
        try {

            stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

             rs = stmt.executeQuery(query);

             if(rs.first());
             {
             while(rs.next())
             {

            firstNameTextField.setText(rs.getString(2));
            lastNameTextField.setText(rs.getString(3));
            addressTextField.setText(rs.getString(4));


             }

    }

        }
        catch (SQLException e )
        {
            e.printStackTrace();
        }

        }

It takes me to the Last record in the ResultSet ..misses all the other records.
I want them to display one by one.
When I press next button ....there is first row of data present in the JTextFields ,I want to go to the next record.

This question has already been answered. Start a new discussion instead.