Share via


Ejemplo de tipos de datos básicos

Esta aplicación de ejemplo del controlador JDBC de Microsoft SQL Server muestra cómo usar los métodos captadores del conjunto de resultados para recuperar valores de tipos de datos básicos de SQL Server y cómo usar los métodos de actualización del conjunto de resultados para actualizar dichos valores.

El archivo de código para este ejemplo se denomina basicDT.java y se encuentra en la siguiente ubicación:

<directorio de instalación>\sqljdbc_<versión>\<idioma>\help\samples\datatypes

Requisitos

Para ejecutar esta aplicación de ejemplo, debe configurar la ruta de clase para que incluya el archivo sqljdbc.jar o el archivo sqljdbc4.jar. Si en la ruta de clase falta una entrada para sqljdbc.jar o sqljdbc4.jar, la aplicación de ejemplo genera la excepción común "Clase no encontrada". Además, debe tener acceso a la base de datos de ejemplo AdventureWorks de SQL Server 2005. Para obtener más información acerca de cómo establecer la ruta de clase, vea Usar el controlador JDBC.

Además, debe crear la siguiente tabla y datos de ejemplo en la base de datos de ejemplo AdventureWorks de SQL Server 2005:

CREATE TABLE DataTypesTable 
   (Col1 int IDENTITY, 
    Col2 char,
    Col3 varchar(50), 
    Col4 bit,
    Col5 decimal(18, 2),
    Col6 money,
    Col7 datetime);

INSERT INTO DataTypesTable 
VALUES ('A', 'Some text.', 0, 15.25, 10.00, '01/01/2006 23:59:59.991');

Nota

El controlador JDBC de Microsoft SQL Server proporciona los archivos de la biblioteca de clases sqljdbc.jar y sqljdbc4.jar que hay que usar dependiendo de su configuración preferida de Java Runtime Environment (JRE). Para obtener más información acerca del archivo JAR que hay que elegir, vea Requisitos del sistema para el controlador JDBC.

Ejemplo

En el siguiente ejemplo, el código muestra realiza una conexión a la base de datos AdventureWorks de SQL Server 2005 y, a continuación, recupera una sola fila de datos de la tabla de prueba DataTypesTable. A continuación, se llama al método displayRow personalizado para mostrar todos los datos que contiene el conjunto de resultados con varios métodos get<Type> de la clase SQLServerResultSet.

Después, en el ejemplo se usan varios métodos update<Type> de la clase SQLServerResultSet para actualizar los datos que contiene el conjunto de resultados y se llama al método updateRow para volver a almacenar los datos en la base de datos.

Finalmente, el ejemplo actualiza los datos del conjunto de resultados y vuelve a llamar al método displayRow personalizado para mostrar los datos del conjunto de resultados.

import java.sql.*;

public class basicDT {

   public static void main(String[] args) {

      // Create a variable for the connection string.
      String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
            "databaseName=AdventureWorks;integratedSecurity=true;";

      // Declare the JDBC objects.
      Connection con = null;
      Statement stmt = null;
      ResultSet rs = null;

      try {
         // Establish the connection.
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         con = DriverManager.getConnection(connectionUrl);

         // Create and execute an SQL statement that returns some data
         // and display it.
         String SQL = "SELECT * FROM DataTypesTable;";
         stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
         rs = stmt.executeQuery(SQL);
         rs.next();
         displayRow("ORIGINAL DATA", rs);

         // Update the data in the result set.
         rs.updateString(2, "B");
         rs.updateString(3, "Some updated text.");
         rs.updateBoolean(4, true);
         rs.updateDouble(5, 77.89);
         rs.updateDouble(6, 1000.01);
         rs.updateTimestamp(7, new Timestamp(System.currentTimeMillis()));
         rs.updateRow();

         // Get the updated data from the database and display it.
         rs = stmt.executeQuery(SQL);
         rs.next();
         displayRow("UPDATED DATA", rs);
      }

      // Handle any errors that may have occurred.
      catch (Exception e) {
         e.printStackTrace();
      }

      finally {
         if (rs != null) try { rs.close(); } catch(Exception e) {}
         if (stmt != null) try { stmt.close(); } catch(Exception e) {}
         if (con != null) try { con.close(); } catch(Exception e) {}
      }
   }

   private static void displayRow(String title, ResultSet rs) {
      try {
         System.out.println(title);
         System.out.println(rs.getInt(1) + " " +  // SQL integer type.
               rs.getString(2) + " " +            // SQL char type.
               rs.getString(3) + " " +            // SQL varchar type.
               rs.getBoolean(4) + " " +           // SQL bit type.
               rs.getDouble(5) + " " +            // SQL decimal type.
               rs.getDouble(6) + " " +            // SQL money type.
               rs.getTimestamp(7));               // SQL datetime type.
         System.out.println();
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

Vea también

Otros recursos

Trabajar con tipos de datos (JDBC)