How to store ResultSet to an Array?

I got this error

Got an exception!
null

import java.sql.*; 
import javax.swing.*;
public class NewClass {
 
    public static void main (String[] args) { 
 
        try { 
            String url = "jdbc:mysql://localhost:3306/test1"; 
            Connection conn = DriverManager.getConnection(url,"root","mypassword"); 
            
            PreparedStatement stmt = conn.prepareStatement("SELECT * FROM inventorytable");
            ResultSet rs; 
            rs=stmt.executeQuery();
  
            while ( rs.next() ) { 
                
                Array itemnameloc = rs.getArray("itemname");
                String [] itemnameArray = (String [])itemnameloc.getArray();
                System.out.println(itemnameArray);
                
            } 
            conn.close(); 
        } catch (Exception e) { 
            System.err.println("Got an exception! "); 
            System.err.println(e.getMessage()); 
        } 
    } 
}

Open in new window

glyncoAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

manuel_mCommented:
Can you please post the stacktrace where the error occurred?

write in your catch block.
try {
  // your code..
} catch (Exception e) {
   e.printStackTrace();
}

Open in new window

0
glyncoAuthor Commented:
More errors with that.
0
manuel_mCommented:
Please add the e.printStackTrace() method to your catch block and post the error messages that is printed.
Otherwise the "null" error message is not significant enough.
import java.sql.*; 
import javax.swing.*;
public class NewClass {
 
    public static void main (String[] args) { 
 
        try { 
            String url = "jdbc:mysql://localhost:3306/test1"; 
            Connection conn = DriverManager.getConnection(url,"root","mypassword"); 
            
            PreparedStatement stmt = conn.prepareStatement("SELECT * FROM inventorytable");
            ResultSet rs; 
            rs=stmt.executeQuery();
  
            while ( rs.next() ) { 
                
                Array itemnameloc = rs.getArray("itemname");
                String [] itemnameArray = (String [])itemnameloc.getArray();
                System.out.println(itemnameArray);
                
            } 
            conn.close(); 
        } catch (Exception e) { 
            System.err.println("Got an exception! "); 
            System.err.println(e.getMessage()); 
            // prints a detailed error listing
            e.printStackTrace();
        } 
    } 
}

Open in new window

0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

glyncoAuthor Commented:
Your code gives more errors.

Got an exception!
null
java.sql.SQLFeatureNotSupportedException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at com.mysql.jdbc.SQLError.notImplemented(SQLError.java:1274)
        at com.mysql.jdbc.ResultSetImpl.getArray(ResultSetImpl.java:1154)
        at com.mysql.jdbc.ResultSetImpl.getArray(ResultSetImpl.java:1171)
        at NewClass.main(NewClass.java:17)
0
manuel_mCommented:
It seems that the line:
Array itemnameloc = rs.getArray("itemname");
causes the error.
Do you have a column in your table named "itemname"?
0
glyncoAuthor Commented:
Yes there is "itemname" column in the table.
0
javaexpertoCommented:
what do you want to do exactly? print the column name?  print all the rows of that column?
0
manuel_mCommented:
Could you please check if the line in the error message:
at NewClass.main(NewClass.java:17)

is the same you have posted here ? => Array itemnameloc = rs.getArray("itemname");

If not, please post the line that matches line 17 in your source code in your IDE.
0
itbalajiCommented:
If you think rs.getArray() will return all values of the column in a Array then you misunderstood it. If the underlying data is an array type then it returns the array. Very few databases support Array types. MySQL does not support it yet. You have to do as shown below.
import java.sql.*; 
import javax.swing.*;
import java.util.*;
public class NewClass {
 
    public static void main (String[] args) { 
 
        try { 
            String url = "jdbc:mysql://localhost:3306/test1"; 
            Connection conn = DriverManager.getConnection(url,"root","mypassword"); 
            
            PreparedStatement stmt = conn.prepareStatement("SELECT * FROM inventorytable");
            ResultSet rs; 
            rs=stmt.executeQuery();
            ArrayList list = new ArrayList();
  
            while ( rs.next() ) { 
                
                list.add(rs.getString("itemname"));
            } 
            String [] itemnameArray = new String [list.size()];
            list.toArray(itemnameArray);
            System.out.println(itemnameArray);
            conn.close(); 
        } catch (Exception e) { 
            System.err.println("Got an exception! "); 
            System.err.println(e.getMessage()); 
            // prints a detailed error listing
            e.printStackTrace();
        } 
    } 
}

Open in new window

0
glyncoAuthor Commented:
I got this error with that code

Note: C:\Documents and Settings\ALCO\My Documents\NetBeansProjects\JavaApplication59\src\NewClass.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
0
javaexpertoCommented:
well that's not an error, just a warning, try this:
import java.sql.*; 
import javax.swing.*;
import java.util.*;
public class NewClass {
 
    public static void main (String[] args) { 
 
        try { 
            String url = "jdbc:mysql://localhost:3306/test1"; 
            Connection conn = DriverManager.getConnection(url,"root","mypassword"); 
            
            PreparedStatement stmt = conn.prepareStatement("SELECT * FROM inventorytable");
            ResultSet rs; 
            rs=stmt.executeQuery();
            ArrayList<String> list = new ArrayList<String>();
  
            while ( rs.next() ) { 
                
                list.add(rs.getString("itemname"));
            } 
            String [] itemnameArray = new String [list.size()];
            list.toArray(itemnameArray);
            System.out.println(itemnameArray);
            conn.close(); 
        } catch (Exception e) { 
            System.err.println("Got an exception! "); 
            System.err.println(e.getMessage()); 
            // prints a detailed error listing
            e.printStackTrace();
        } 
    } 
}

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Languages-Other

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.