| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Programación Java >> Content
    JDBC ResultSet Ejemplo
    El Java Database Connectivity (JDBC ) Aplicación Programmer Interface ( API ) proporciona clases para la conexión y el acceso a los datos tabulares, incluyendo bases de datos relacionales. La clase ResultSet ofrece métodos para recuperar , navegar y manipular los resultados de la consulta de bases de datos . Ejemplo Ambiente

    En los siguientes ejemplos , que se conecta a una base de datos llamada "Personal ", una sola tabla dentro de esa base de datos llamada "pueblo ", que contiene tres columnas : "'nombre ", " apellidos ", " título, "y " salario " . La tabla contiene los siguientes registros :

    Bob , Smith , Secretaria , 23.50Ted , Anderson, diseñador , 38.00Fred , Johnson, programador , 32.25Alice , Anderson , Ingeniero, 46.75Bob , Clark , Pasante , 15.00Carol , Smith , Gerente, 42.50
    consulta la base de datos

    Crear una conexión de base de datos y crear un objeto de declaración llamando a la función createStatement de nuestro objeto Connection ().
    < p > String url = " jdbc : mysql ://localhost /personal " ; Conexión conn = DriverManager.getConnection ( url , "username" , "password "); Declaración st = conn.createStatement ();

    Crear una cadena de consulta que contiene una sentencia de consulta SQL

    string query válido = " SELECT 'nombre , apellidos de las personas " ; .

    Crear un objeto ResultSet utilizando el objeto Statement para ejecutar la consulta a la base de datos .

    ResultSet rs = st.executeQuery (query) ;

    el objeto ResultSet, rs , ahora contiene los resultados de la consulta: el "'nombre " y columnas " last_name " para cada registro de la tabla de " pueblo" .
    Acceso a los resultados de la consulta

    el objeto ResultSet tiene un cursor, que en un principio no apunta a ningún registro. Llame primero () la función de ResultSet para mover el cursor al primer registro en poder del objeto ResultSet. Funciones get del ResultSet proporciona acceso al contenido de cada columna con el nombre de columna de la tabla de base de datos. Usa getString (String ColumnLabel ) para recuperar el contenido de las columnas VARCHAR "'nombre " y " apellidos ".

    Rs.first ( ) ; cadena fn = rs.getString ( "' nombre " ) ; cadena ln = rs . getString ( " apellidos "); System.out.println (ln + " ," + fn) ;

    La última línea por encima de impresiones :

    Smith , Bob

    Llame last () la función de ResultSet para mover el cursor al último registro realizado por el objeto ResultSet

    rs.last (); fn = rs.getString ( "'nombre '); ln = rs.getString ( " . 'nombre '); System.out.println (ln + " ," + fn) ;

    La última línea anterior impresiones :

    Smith , Carol
    Stepping a través de los resultados de consulta

    Normalmente, se desea acceder a todos los resultados devueltos por la consulta. Siguiente) La función de ResultSet ( mueve el cursor hacia adelante al siguiente registro . Cuando el cursor se mueve más allá del final del conjunto de resultados , el siguiente () función devuelve NULL, lo que permite utilizar el valor de retorno para escapar de un bucle while

    Declaración st = conn.createStatement (). ; string query = "SELECT * FROM personas, donde los salarios > 30 " ; ResultSet rs = st.executeQuery (query) ;

    while ( rs.next ()) {String fn = rs.getString ( "'nombre " ) cadena ln = rs.getString ( " apellidos "); System.out.println (fn + " " + ln) ;}

    mientras que los pasos de bucle a través de cada registro del conjunto de resultados , y las impresiones : función anterior ()

    Ted AndersonFred JohnsonAlice AndersonCarol Smith &

    de ResultSet mueve el cursor hacia atrás un registro en el conjunto de resultados y devuelve NULL cuando el cursor se ha movido antes del primer registro . Esto le permite caminar hacia atrás a través del conjunto de resultados y utiliza el valor devuelto por la función anterior () para escapar de un bucle while. Continuando con el ejemplo anterior, el cursor se queda posicionado después del último registro del conjunto de resultados . Utilice la función anterior () caminar hacia atrás a través de los resultados de la consulta , la impresión del título y columnas de salario de cada registro. Utilice la función getFloat de ResultSet (String ColumnLabel ) para acceder al contenido de la columna FLOAT "salario ":

    while ( rs.previous ()) {String t = rs.getString ( "title "); int w = rs.getFloat ( "salario "); System.out.println (fn + "$ " + ln) ;}

    mientras que los pasos de bucle hacia atrás a través de cada registro del conjunto de resultados , y las impresiones :

    Administrador 42.50Engineer $ $ $ 46.75Programmer 32.25Designer $ 38.00
    Random navegación

    ResultSet ofrece funciones para mover el cursor de forma arbitraria a través de los registros de un conjunto de resultados. Recuperar todos los registros contenidos en la tabla " personas " , según el " apellidos ", luego " columnas first_name ":
    Declaración

    st = conn.createStatement () , String query = "SELECT * FROM para personas de apellidos , 'nombre " ; ResultSet rs = st.executeQuery (query) ;

    El conjunto de resultados contiene:

    Alice , Anderson , Ingeniero, 46.75Ted , Anderson, diseñador , 38.00Bob , Clark, Intern , 15.00Fred , Johnson, programador , 32.25Bob , Smith , Secretaria , 23.50Carol , Smith , Gerente, 42.50

    Utilice la función absoluta ( int fila ) para colocar el cursor en una fila específica en el conjunto de resultados. Un valor positivo para el parámetro fila se moverá el cursor hacia adelante desde antes del principio del conjunto de resultados . Un valor negativo para el parámetro de fila se moverá el cursor hacia atrás desde el final del conjunto de resultados :

    rs.absolute ( 3 ) Cadena fn = rs.getString ( "'nombre '); Cadena ln = rs . getString ( " apellidos "); System.out.println (fn + " " + ln) ;

    rs.absolute ( 5 ) cadena fn = rs.getString ( "'nombre '); cadena ln = rs . getString ( " apellidos "); System.out.println (fn + " " + ln) ;

    rs.absolute ( -1 ) ; cadena fn = rs.getString ( "'nombre '); cadena ln = rs.getString ( " apellidos "); System.out.println (fn + " " + ln) ;

    rs.absolute ( -3 ) ; cadena fn = rs.getString ( "'nombre '); cadena ln = rs.getString ( " apellidos "); System.out.println (fn + " " + ln) ;

    Las declaraciones de impresión por encima de la salida :

    Bob ClarkBob SmithCarol SmithFred Johnson

    Continuando , el uso relativo ( int fila) para mover el cursor hacia atrás o hacia delante con respecto a la posición actual . El cursor se quedó posicionada en el cuarto disco del conjunto de resultados . Mueva hacia adelante dos filas y luego hacia atrás cuatro filas :

    rs.relative ( 2 ), fn = rs.getString ( "'nombre '); ln = rs.getString ( " apellidos " ); System.out . println (fn + " " + ln) ;

    rs.relative ( -4 ), fn = rs.getString ( "'nombre '); ln = rs.getString ( " apellidos "); System.out . println (fn + " " + ln) ;

    las declaraciones de impresión en la salida el código de seguridad :

    Carol SmithTed Anderson
    Modificación de la Red Resultados

    Modificar el contenido de un conjunto de resultados utilizando las funciones de actualización de ResultSet . Utilice updateString (String ColumnLabel , String x ) para cambiar todos los registros que coinciden con " Bob " en la columna "'nombre " a " Robert ". Utilice la función beforeFirst () para restablecer el cursor antes del comienzo del conjunto de resultados para que pueda caminar a través del conjunto de resultados actualizada e imprimir los nuevos valores :

    String query = "SELECT * FROM personas " ; ResultSet rs = st.executeQuery (query) ;

    while ( rs.next ()) {String fn = rs.getString ( "'nombre '); if ( fn.equals ( " Bob ") { rs.updateString ( "'nombre ", " Robert" ) ;} } rs.beforeFirst () , mientras que ( rs.next ()) {String fn = rs.getString ( "' nombre '); cadena ln = rs.getString ( " apellidos ") ; System.out.println (fn + " " + ln) ;}

    Los siguientes resultados se imprimen :

    Robert SmithTed AndersonFred JohnsonAlice AndersonRobert ClarkCarol Smith
    Control de errores

    Muchas de las funciones de ResultSet tiro un SQLException . Mejor práctica dicta errores generados deben ser capturados y manipulados . mensaje de SQLException puede ser muy útil en la depuración de errores de conexión y consulta. Contener la conexión y el código de consulta en try-catch bloques

    try {String url = " jdbc : mysql ://localhost /personal " ; . Conexión conn = DriverManager.getConnection ( url , "username" , "password ") ; Declaración st = conex . createStatement ();

    String query = " SELECT 'nombre , apellidos de las personas " ; ResultSet rs = st.executeQuery (query) ;

    while ( rs.next ()) {String fn = rs.getString ( "'nombre '); cadena ln = rs.getString ( " apellidos "); System.out.println (fn +" "+ ln) ;} } catch ( SQLException ex) { System.err.println ( ex.getMessage ()) ;}
    Clean Up

    Previous :

    next :
      Artículos relacionados
    ·¿Qué es un GIF Animation Echo 
    ·¿Por qué una cadena inmutable calcular su hash Valor 
    ·¿Qué es multitarjeta Host en Java 
    ·Cómo mostrar un personaje como Integer en Java 
    ·Cómo comprobar si un argumento existe en Java 
    ·Cómo conseguir una fecha del sistema en Java 
    ·Cómo personalizar el color de NetBeans 
    ·Cómo construir una cadena y establecer el texto con la…
    ·Java 1.6 vs. 1.5 
    ·JDK de Java 1.6.0-7 problemas de instalación de la act…
      Artículos destacados
    ·Tutorial Countdown en Java 
    ·Cómo acceder a las columnas de relleno Macro Con datos…
    ·Cómo pasar de las galletas a los clientes en PHP 
    ·Cómo terminar un bucle finito 
    ·Cómo restablecer una contraseña Admin Script Local 
    ·Cómo escribir una secuencia de comandos de Ruby 
    ·Cómo programar con Python en Ubuntu 
    ·Cómo tomar una captura de pantalla en Java 
    ·Cómo combinar diseños en el Android 
    ·Las funciones de Python con un diccionario 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com