Solved

ResultSet persistence

Posted on 2002-03-29
4
439 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 100 total points
Comment Utility
0
 
LVL 18

Expert Comment

by:bobbit31
Comment Utility
0
 

Expert Comment

by:rashidkamranbs
Comment Utility
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
Comment Utility
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

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
copyEndy  challenge 15 54
array220 challenge 8 44
wordmultiple challenge 12 89
bitbucket vs gitbucket 3 29
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

762 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now