a Collection of beans to store sql data 2007-01-10 - By Christopher Schultz
Back -- --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)
|
|