Improve company productivity with a Business Account.Sign Up

x
?
Solved

ResultSet persistence

Posted on 2002-03-29
4
Medium Priority
?
474 Views
Last Modified: 2010-05-18
I need some way to maintain data from a ResultSet after closing the connection.  In other words, I want something that can get the data from the database, close the connection, then return the results.  If it helps, I'm using an Oracle 8 database.  Any suggestions?

//psuedocode
private ResultSet mymethod(String sql)
{
  Connection conn = getConnection();
  Statement stmt = conn.getStatement();
  ResultSet rs = stmt.execute(sql);
  conn.close();
  return rs;
}
0
Comment
Question by:rwinkler
  • 2
4 Comments
 
LVL 18

Accepted Solution

by:
bobbit31 earned 400 total points
ID: 6905456
0
 

Expert Comment

by:rashidkamranbs
ID: 6905502
See the RsultSet object must be associated with a valid statement and of course connection object.. by closing connection mean you closed the resultset object..

Just Change Ur Function A little and using ResultSetMetaData before closing your connection put all the data in an sutiable Collection or Map object and return that ArrayList or whatever Collection object you choose .. this way ya would be having Results of Query but ofcourse.. not in the form of ResultSet but another COllection object

0
 
LVL 1

Author Comment

by:rwinkler
ID: 6905508
EXACTLY what I was looking for!  Thanks!

For archival purposes:

CachedRowSet crs = new CachedRowSet();

Listing 1: Explicit CachedRowSet initialization

<jsp:useBean id="Contacts"
             class="sun.jdbc.rowset.CachedRowSet"
             scope="session">
<%
  // load database driver
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  // initialize our CachedRowSet bean
  Contacts.setUsername("dbuser"); // example userid
  Contacts.setPassword("dbpassword"); // example password
  Contacts.setUrl("jdbc:odbc:ContactDB"); // example DSN
  Contacts.setCommand("SELECT name, telephone from Contacts");
  Contacts.execute();
%>
</jsp:useBean>


OR

<%
  // initialize our CachedRowSet bean using dataSourceName
  // property
  Contacts.setDataSourceName("Databases/ContactsDB/Datasource");
  Contacts.setCommand("SELECT name, telephone from Contacts");
  Contacts.execute();
%>

OR

<%
  // get connection from pool
  InitialContext ctx = new InitialContext();
  javax.sql.DataSource ds =
    (javax.sql.DataSource)ctx.lookup
    ("Databases/ContactsDB/DataSource");
  java.sql.Connection con = ds.getConnection();
  Contacts.setCommand("SELECT name, telephone from Contacts");
  // supply the connection to the RowSet
  Contacts.execute(con);
%>
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

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.

Join & Write a Comment

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

595 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question