para solucionar eso yo cree una clase para hacer la conexion y manejar las consultas a la base de datos y esta me debuleve resulset's (cuando hago select's), dentro de esta clase existe una sola conexion, pero cada consulta que hago se crea un nuevo statement para poder ejecutar la cosulta, y luego en donde necesito accesar a la DB (en alguna apliacion), nadamas instancio a esa clase, y ejecuto las query's obteniendo unicamente los resulset's, me olvido de los statements pues la clse se encarga de ello
mejor te pongo el codigo, para que me entiendas mejor
aqui la clase de acceso a la data base
Código PHP:
/*
* Author: Crysfelin
* Created: Monday, April 11, 2005 4:08:13 PM
* Modified: Monday, April 11, 2005 4:08:13 PM
*/
package db;
import java.sql.*;
public class DataBase
{
public Connection cn;
public ResultSet rs;
public void connect()throws Exception{
try{
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
cn = DriverManager.getConnection("jdbc:mysql://localhost/NombreDataBase","usuario","password");
}catch(Exception e){
throw new Error("No se pudo hacer la conexion con la DB " + e);
}
}
public ResultSet query(String q)throws Exception{
rs=null;
Statement st = cn.createStatement();
rs = st.executeQuery(q);
return rs;
}
public int update (String sql)throws SQLException{
Statement st = cn.createStatement();
int rw = st.executeUpdate(sql);
st.close();
return rw;
}
public void close()throws Exception{
try{
cn.close();
}catch(Exception e){
throw new Error("<strong>Error: No se pudo cerrar la conexion</strong>"+e);
}
}
ahora en la aplicacion que la necesito asi nadamas
Código PHP:
DataBase myDB = new DataBase();
myDB.connect();
ResultSet rs = myDB.query("Select * from citas where IdDoctor="+idDoc+" AND Fecha='2005-10-23");
while(rs.next()){
ResultSet rs2 = myDB.query("SELECT * from paciente where doctor='"+idDoc+"'");
//bla bla bla bla bla todo lo que querrais
}
myDB.close();
de esa manera solo creo resulset's en la aplicacion y el objeto myDB se encarga del resto
have funn