Ver Mensaje Individual
  #13 (permalink)  
Antiguo 13/11/2003, 08:48
Avatar de alexbariv
alexbariv
 
Fecha de Ingreso: septiembre-2003
Ubicación: Mérida, Venezuela
Mensajes: 766
Antigüedad: 21 años, 3 meses
Puntos: 0
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(urlloginpassword);
            
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!!!
__________________
"Piensa como una persona de acción y actúa como una persona que piensa."