Ok amigo bakan...
Este es el codigo de mi pool de conexiones, corrigeme si me equivoco, ya logre todo, pero quiero saber si de verdad esto abre y cierra la conexion a la bd para adiminstrarlas....
Código PHP:
package XAlX;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.Vector;
public final class poolBaseDatos
{
String driver = "";
String url = "";
String login = "";
String password = "";
int codError = 0;
String mensajeError = "";
Statement st=null;
Connection connection = null;
public poolBaseDatos()
{
try
{
driver = ("sun.jdbc.odbc.JdbcOdbcDriver");
url = ("jdbc:odbc:XDB");
login = ("xa");
password = ("skl");
Class.forName(driver);
DriverManager.setLoginTimeout(30);
connection = DriverManager.getConnection(url, login, password);
connection.setAutoCommit(false);
System.out.println("Conectandose a la bd");
}
catch(Exception e)
{
// Log.error(e);
System.out.println("Catch del conector a la bd");
mensajeError = e.toString();
codError = 1;
}
}
public boolean doCommit()
{
// clearError();
try
{
connection.commit();
st.close();
System.out.println("connection commit");
}
catch(Exception e)
{
// Log.error(e);
System.out.println("Catch del docommit");
mensajeError = e.toString();
codError = 1;
return false;
}
return true;
}
public boolean doRollback()
{
// clearError();
try
{
st.close();
connection.rollback();
System.out.println("conecction roll back");
}
catch(Exception e)
{
// Log.error(e);
System.out.println("Catch del dorollback");
System.out.println(e.getMessage());
codError = 1;
return false;
}
return true;
}
public ResultSet doSelect(String sql)
{
ResultSet rs=null;
// clearError();
try
{
st = connection.createStatement();
rs = st.executeQuery(sql);
System.out.println("Creando la conexion");
}
catch(Exception e)
{
System.out.println("Catch del doselect en el pool...");
System.out.println(e.getMessage());
codError = 1;
}
return rs;
}
}
En el servlet utilizo esto para conseguir los datos
Código PHP:
conn = new poolBaseDatos();
try{
String SQL = "SELECT ";
SQL+=column;
SQL+=" FROM ";
SQL+=table;
SQL+=" ORDER By ";
SQL+=column;
ResultSet rs;
rs = conn.doSelect(SQL);
if (rs.next()){
combo = "";
do{
combo += "<option>";
combo += (rs.getString(column));
combo += "</option>";
}while(rs.next());
}else
return -1;
conn.doCommit();
conn.doRollback();
}catch (Exception e){
System.out.println("Se produjo un error creando la sentencia SQL");
System.out.println(e.getMessage());
return -2;
}
return 0;
}
TODO FUNCIONA, PERO QUIERO SABER SI ESTA CORRECTO!!
BYE!!!