Weblogs Código

RecorteX

73 usuarios y 244 recortes de código
Usuario

Contraseña
Crear cuenta
asp csharp css fechas Flash html imagenes java javascript linux mysql oracle php sql SQLServer url vbnet web xhtml xml
Top Usuarios
fjmp76 (43)
albin (31)
josuebasurto (31)
juanjo (30)
pedrocaro (9)
stanz (8)
AndiXTRM (7)
Joserra (7)
miiglesi (6)
aplyca (5)
Top Etiquetas
php (38)
vbnet (28)
javascript (26)
csharp (26)
html (25)
java (24)
sql (18)
mysql (13)
xml (13)
css (10)
Flash (7)
imagenes (7)
xhtml (7)
linux (6)
fechas (6)
asp (6)
oracle (5)
url (5)
web (5)
SQLServer (5)

Obtener consecutivo de una tabla

Método util para obtener el consecutivo de una tabla
 
  public final int Consecutivo(ConexionSGDB connDB, String NombreTabla, String Campo, String Condicion, MensajesError ME){
        String NombreMetodo = "Consecutivo(ConexionSGDB connDB, String Condicion, MensajesError ME)";
        
        Vector v = new Vector();
        java.sql.ResultSet rs = null;
        
        String query = "";
        int Consec = 0;
        
        try {
            query =  " select ifnull(max(" +Campo +"), 0) + 1 as Consecutivo from " +NombreTabla +" " + Condicion ;
            System.out.println(query);
            rs = connDB.ejecutaConsulta(query);
            
            if (rs!=null) {
                while(rs.next()){
                    Consec = rs.getInt("Consecutivo");
                }
            }
        
        } catch (Exception e){
            System.out.println ("Utilerias - Consecutivo");
                System.out.println ("Error: "+e.toString());    
                ME.setError( 1           , 
                            STR_CLASE   ,
                            NombreMetodo,
                            "Error al consultar el Consecutivo de la tabla x.");    
        }   
        return (Consec);
    }
 
Comentario de Joserra:
Ignoro para qué puedes usar este método, pero si es para insertar después valores con ese "Consecutivo" como clave,... !ten cuidado! Puede ser modificado por otro en paralelo...
Comentario de juanjo:
Estoy de acuerdo. Dos procesos podrían terminar utilizando el mismo consecutivo. Lo mejor es utilizar las facilidades que proporcionan las bases de datos para obtención de autonuméricos (secuencias en Oracle, autoincrementales en mysql, etc).
Identifícate para dejar un comentario.
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin