aspose file tools*
The moose likes Beginning Java and the fly likes return string array Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "return string array" Watch "return string array" New topic
Author

return string array

dale con
Ranch Hand

Joined: Apr 15, 2005
Posts: 93
Hi all

I'm trying to return a string array from a db table.

Can anyone help me out

I can return an array list, but i want the results as a string array

Here's my code for array list, but having difficulty retruning a string array

while (rs.next())
{
rsList = new ArrayList();

for (int counter = 1; counter <= rsmd.getColumnCount(); counter++)
{
rsList.add(rs.getString("fieldname"));
}

returnRs.add(rsList);
}

Thanks for your help
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

You can convert an ArrayList into an array like this:

ArrayList list = ...
String[] array = (String[]) list.toArray(new String[list.size()]);

You can only use String[] here if all the items in the ArrayList are Strings, of course.


[Jess in Action][AskingGoodQuestions]
dale con
Ranch Hand

Joined: Apr 15, 2005
Posts: 93
Hi

When i do this

String[] array = (String[]) list.toArray(new String[list.size()]);

List returnRs = new ArrayList();
List rsList = new ArrayList();
String [] a;

try
{
.....
while (rs.next())
{
rsList = new ArrayList();

for (int counter = 1; counter <= rsmd.getColumnCount(); counter++)
{
rsList.add(rs.getString("fieldname"));
}

returnRs.add(rsList);
}

a = (String[]) returnRs.toArray(new String[returnRs.size()]);

....

I get the error java.lang.ArrayStoreException

Thanks for your help
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

I don't know why you've done this, but returnRs is an ArrayList with one item in it: the ArrayList rsList. Change the code to simply eliminate returnRs everywhere; its unnecessary. Convert rsList to a String array and return that.
Manuel Moons
Ranch Hand

Joined: Mar 05, 2002
Posts: 229
You are also walking through all your columns and adding the value for one column ("fieldname") into an ArrayList columncount times.

I don't really know what you are trying to do, but the loops do not make any sense at the moment.
dale con
Ranch Hand

Joined: Apr 15, 2005
Posts: 93
My sql is like this

select fieldname from mytable WHERE .....'

So i'm just returning one column

Is there a better way of writing this?

Thanks for your help
Manuel Moons
Ranch Hand

Joined: Mar 05, 2002
Posts: 229
I think something like this should do the trick.

Manuel Moons
Ranch Hand

Joined: Mar 05, 2002
Posts: 229
Of course I mean :

dale con
Ranch Hand

Joined: Apr 15, 2005
Posts: 93
Thank you both for your help
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: return string array