Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » Apache Tomcat »

Re: [OT] a Collection of beans to store sql data

Michael Ni

2007-01-10

Replies:

thanks for the quick reply, by the way everyone is telling me to make my
functions return objects instead of resultset. why is returning resultset
bad?


>From: Christopher Schultz <chris@(protected)>
>Reply-To: "Tomcat Users List" <users@(protected)>
>To: Tomcat Users List <users@(protected)>
>Subject: Re: [OT] a Collection of beans to store sql data
>Date: Wed, 10 Jan 2007 21:15:50 -0500
>
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>Michael,
>
>Michael Ni wrote:
> > My problem is i get
> >
> > PersonNew.java:48: missing return statement
> > }
>
>[snip]
>
> > public Collection getPersondata( String alias, String password ) {
> >
> >   Connection conn = null;
> >   PreparedStatement stmt = null;
> >   ResultSet rs = null;
> >   Collection retValue = new ArrayList();
> >   String query = "SELECT * FROM person WHERE alias = ?, password = ?";
> >   try {
> >    conn = DBConnection.getDBConnection();
> >    stmt = conn.prepareStatement( query );
> >    stmt.setString( 1, alias );
> >    stmt.setString( 2, password );
> >    rs = stmt.executeQuery();
> >    while (rs.next()) {
> >     PersonalInfo beanrow = new PersonalInfo();
> >     beanrow.setAlias(rs.getString("alias"));
> >     beanrow.setPassword(rs.getString("password"));
> >     retValue.add(beanrow);
> >
> >    }
> >    return retValue;
> >   }
> >   catch( SQLException sqle ) {
> >    sqle.printStackTrace();
> >   }
> >   finally {
> >    try {if (rs != null) rs.close();} catch (SQLException e) {}
> >    try {if (stmt != null) stmt.close();} catch (SQLException e) {}
> >    try {if (conn != null) conn.close();} catch (SQLException e) {}
> >   }
> > }
>
>The problem is that you have a code path that can exit your method
>without returning a value (which is a no-no). If a SQLException is
>thrown inside your try block, it will be caught, logged, and then the
>method exists with no return value.
>
>You have several options:
>
>1. Put a catch-all "return" at the very end of the method
>   (after the finally block)
>2. Put a return in your catch(SQLException) block.
>3. Throw an exception in your catch(SQLException) block.
>
>I tend to favor #3 since a SQLException usually indicates a real problem
>rather than something that is recoverable, but this may not be true
>under your particular circumstances.
>
>- -chris
>
>-----BEGIN PGP SIGNATURE-----
>Version: GnuPG v1.4.6 (MingW32)
>Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
>iD8DBQFFpZ3V9CaO5/Lv0PARAuNvAKC4+g9iHyn6U3m88e+hgBJfQ87WjgCeJAV9
>sDq1+7kNLRWpyZrZE1roQ14=
>=/ZcX
>-----END PGP SIGNATURE-----
>
>---------------------------------------------------------------------
>To start a new topic, e-mail: users@(protected)
>To unsubscribe, e-mail: users-unsubscribe@(protected)
>For additional commands, e-mail: users-help@(protected)
>

_________________________________________________________________
The MSN Entertainment Guide to Golden Globes is here. Get all the scoop.
http://tv.msn.com/tv/globes2007/?icid=nctagline2


---------------------------------------------------------------------
To start a new topic, e-mail: users@(protected)
To unsubscribe, e-mail: users-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)

©2008 junlu.com - Jax Systems, LLC, U.S.A.