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?

Recommended Answers

All 3 Replies

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

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.

Ok this thread is solved now.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.