Noticias Weblogs Foros Wiki Código

RecorteX

458 usuarios y 235 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 (35)
albin (31)
josuebasurto (31)
juanjo (29)
pedrocaro (9)
stanz (8)
AndiXTRM (7)
Joserra (7)
miiglesi (6)
aplyca (5)
Top Etiquetas
php (38)
vbnet (27)
javascript (26)
html (25)
java (23)
csharp (18)
sql (17)
mysql (13)
xml (13)
css (10)
Flash (7)
imagenes (7)
xhtml (7)
asp (6)
linux (6)
fechas (6)
SQLServer (5)
oracle (5)
url (5)
web (5)

Llamar a un procedimiento almacenado

Aquí hay un ejemplo que trata prácticamente todos los casos en la ejecución de un procedimiento almacenado usando JDBC: parámetros de entrada y salida, retorno de resultados, etc.
 
package DBTest;
 
import java.sql.*;
 
public class JdbcTest {
 
    private String          msDbUrl = "jdbc:odbc:ms";
    private String          msJdbcClass = "sun.jdbc.odbc.JdbcOdbcDriver";
    private Connection      mcDbAccess;
    private CallableStatement       msProcedure;
 
    public JdbcTest() {
        try {
            Class.forName( msDbUrl ).newInstance();
            mcDbAccess = DriverManager.getConnection( msJdbcClass, "milestone", "milestone" );
            msProcedure = mcDbAccess.prepareCall(
                "{? = call sp_sav_Bom_Header( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) }"
            );
            msProcedure.registerOutParameter( 1, java.sql.Types.VARCHAR );
            msProcedure.setInt( 2, -1 );
            msProcedure.setInt( 3, 39 );
            msProcedure.setString( 4, "format" );
            long ltTest = new java.util.Date().getTime();
            System.out.println( "Today: " + ltTest );
            msProcedure.setTimestamp( 5, new Timestamp( ltTest ) );
            msProcedure.setString( 6, "type" );
            msProcedure.setString( 7, "submitter" );
            msProcedure.setString( 8, "email" );
            msProcedure.setString( 9, "phone" );
            msProcedure.setString( 10, "comments" );
            msProcedure.setString( 11, "label" );
            msProcedure.setInt( 12, 52 );
            msProcedure.setBoolean( 13, true );
            msProcedure.setBoolean( 14, false );
            msProcedure.setInt( 15, 53 );
            msProcedure.setString( 16, "runtime" );
            msProcedure.setString( 17, "configuration" );
            msProcedure.setBoolean( 18, true );
            msProcedure.setBoolean( 19, false );
            msProcedure.setString( 20, "special instructions" );
            msProcedure.setInt( 21, 54 );
 
            ResultSet lrsReturn = null;
            System.out.println( "Execute: " + (lrsReturn = msProcedure.executeQuery() ) );
            while( lrsReturn.next() ) {
                System.out.println( "Got from result set: " + lrsReturn.getInt( 1 ) );
            }
            System.out.println( "Got from stored procedure: " + msProcedure.getString( 1 ) );
        } catch( Throwable e ) {
            e.printStackTrace();
        }
    }
 
    public static void main(String[] args) {
        new JdbcTest();
    }
}
 
Identifícate para dejar un comentario.
info@recortex.com - Proyecto: Juanjo Navarro, 2006 - Diseño: Albin - Información legal y técnica