You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Deepak Suldhal <dt...@yahoo.com> on 2005/03/09 22:53:23 UTC
need to query database in tapestry - please help.
Hi
I have a form which has a datepicker and a radiogroup
consisting of 3 choices. user enters date and selects
on of the option and submits ok. based on which radion
button is on I present the next page. All this works
good.
I now just want to add one small function to this
before proceeding to the next page I just want to see
the count of records in the table. And this is where I
have problems,
I do not want to display anything on the form from
database. I just want to query and see if there are
records.
Please help me contruct this code. As it has to be in
production very soon.
Here is what I have tried.
package com.test.fin46;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.html.BasePage;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Date;
public class Home extends BasePage { private Date date; public static final int _Mortgage = 1; public static final int _LC = 2; public static final int _BOTH = 3; private int misses = 3; private String error = ""; private String errorMsg; private int _count; public void detach() { misses = 3; error = null; super.detach(); } public int getMisses() { return misses; } public void setMisses(int value) { misses = value; } /** * @return Returns the date. */ public Date getDate() { return date; } /** * @param date The date to set. */ public void setDate(Date date) { this.date = date; } public String getError() { return error; }
public boolean getHasError() { if ((error == null) || (error.length()== 0)) { return (false); } return (true); } public void formSubmit(IRequestCycle cycle) { if (misses == 0) { error = "Please select a game difficulty."; return; } if (getDate()==null) { errorMsg = "Please Enter a Valid Date"; return; } //Here I want to query the database and see if thereare records for processing only then I would like toproceed to next page. try { DatabaseManager dm = new DatabaseManager(); Connection con = dm.getConnection(); String myquery = "select count(*) as current_count from
pslwrkdb..fin46_instmt"; PreparedStatement pstmt = null; ResultSet rs = null; try { pstmt = con.prepareStatement(myquery); rs = pstmt.executeQuery(); while(rs.next()) { _count = rs.getInt("current_count"); } } catch (SQLException se) { //System.out.println(se.getMessage()); } finally { if (pstmt != null) { try { pstmt.close(); } catch(SQLException
ex1) { ex1.printStackTrace(); } } if (rs != null) { try { rs.close(); } catch (SQLException ex1) { ex1.printStackTrace(); } } if (con != null) { try { //oppslogger.info("Releasing Connection "); con.close(); } catch(SQLException ex2) { ex2.printStackTrace();
} } } } catch (Exception e) { errorMsg = "Error occured while reading the database"; } if ( _count == 0) { errorMsg = "Data is not yet ready Please try later"; return; } if (misses == 1){ cycle.activate("Mortgage"); } if (misses == 2){ cycle.activate("LC"); } if (misses == 3){ cycle.activate("BOTH"); } } /** * @return Returns the errorMsg. */ public String getErrorMsg() { return errorMsg; } } and my driver manager ispackage com.test.fin46;
import java.sql.Connection; import java.sql.Driver; import java.sql.SQLException; import java.util.Properties; import java.sql.DriverManager; public class DatabaseManager { private static Connection con = null; //Constructor public DatabaseManager() { // create connection object con here if (con == null) { try { Driver d = (Driver)Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance(); Properties props = new Properties(); props.put("user", "deepak"); props.put("password", "password"); props.put("server","jdbc:sybase:Tds:re2188sr1/pslwrkdb"); con =DriverManager.getConnection("jdbc:sybase:Tds:re2unx188:2025",props); } catch (Exception e) { System.out.println("class not found1"); System.out.println(e.getMessage());
System.out.println(e.toString()); } } } //method get the connection public static Connection getConnection() { return con; } //method close the the connection public void closeConnection() { try { con.close(); } catch (SQLException sqle) { System.out.println("Exception in closing connection"); } } }
---------------------------------
Celebrate Yahoo!'s 10th Birthday!
Yahoo! Netrospective: 100 Moments of the Web