Tutorial Java – Creando el Test de Conexion a la BD # 3


Ejemplo con uso de Variables 

Tutorial Java

Cómo lo hacen en Java

 Hoy te mostraré un tercer ejemplo de la Clase de Test de Conexión.

Y porque tantas Clases de Test preguntarán algunos?

Pues por lo que ya te dije anteriormente…

porque si logras entender bien cómo estas clases de tests utilizan de diferentes formas la API ControladorBD para acceder a la información de la Base de Datos, el desarrollo de la interfase gráfica será realizado de forma mucho más sencilla y rápida. 

Puede ser que lo que te muestre en éste artículo sea un poco obvio para tí. De igual forma yo seguiré con mis ejemplos, ya que no quiero que te quede dudas y también quiero evitarte problemas más adelante.

Así que en este artículo verás como crear sentencias SQLs concatenando los comandos con variables, éstas variables pueden provenir de diferentes fuentes o simplemente de variables auxiliares creadas temporalmente.

Tambien verás cómo múltiples comandos pueden ser enviados al servidor, algo que ya viste antes pero hago aquí una pequeña variación al artículo anterior, ejecutando otros comandos de actualización diferentes al INSERT.

Empecemos.

Uso de variables en sentencias SQLs

Seguramente cuando estés probando tu aplicación, los valores para insertar registros en la base de datos o para realizar actualizaciones vendrán de algún formulario WEB o interfase hecha con Swing.

Es por ello que necesitas saber, cómo montar tu sentencia SQL utilizando estos valores provenientes de variables. Debes tener en cuenta que cada caso dependerá del tipo de dato que quieras concatenar, por ej.: numérico, alfanumérico o tipo fecha.

Es por eso que me pareció muy importante crear éste artículo, especialmente para explicarte los cuidados que debes tener en cuenta para cada tipo de datos. 

Variables con valores del tipo Integer, int, Float, float, Double, double

Uno de los casos más comunes es el de concatenar valores del tipo numérico, los tipos de datos numéricos en Java pueden ser cualquier uno de ellos, como el short y el byte a parte de los ya mencionados en el título.

A continuación en la siguiente figura, puedes ver cómo añadir valores numéricos para concatenar la sentencia.

En la imagen de arriba, puedes ver cómo antes de crear la sentencia, se crea una variable del tipo int, con el valor 8. Luego ésta variable es directamente concatenada a la sentencia. De esta misma forma puedes hacer con los demás tipos de datos numéricos como el short, byte, float o double.

Me imagino que también te diste cuenta que a partir de ahora, ya son 3 sentencias diferentes las que estamos enviando al servidor, una de UPDATE, otra de INSERT y la última de DELETE. Cómo vez no hay ninguna diferencia entre la sentencia SQL que se ejecute, la forma de ejecutar es la misma, el Controlador la ejecutará de cualquier forma, la cantidad y tipos de comandos sólo depende de nuestra necesidad de implementación.

En la imagen de abajo te muestro cómo la sentencia fue generada y ejecutada de forma satisfactoria en el servidor.

Variables con valores de tipo String

También puedes concatenar a la sentencia SQL, valores del tipo alfanumericos (String), con el cuidado de que éstas necesitan ser pasadas entre comillas simples al servidor.

En la figura de abajo puedes ver encerradas en circulo de color rojo a las variables, cuya definición y valores fueron realizados más arriba, observa que encerré en circulo verde las comillas simples, de forma que queden resaltadas y no te confunda su uso con el de la comilla doble.

Recuerda, para pasar atributos del tipo alfanumericos en la sentencia, éstas deben enviarse entre comillas simples al servidor.

El resultado de la ejecución del comando, se puede visualizar abajo, observa que he resaltado con subrayado de color rojo, los valores que estaban contenidas en las variables del tipo String.

Control de Excepciones con diferentes sentencias SQLs

Cómo ya te expliqué anteriomente, la forma de ejecutar diferentes sentencias SQLs desde el ControladorBD es igual para cualquiera de los comandos conocidos INSERT, UPDATE, DELETE o SELECT, a continuación incluyo la variación de cómo controlar la  excepción por si ocurra algún error. Note que la variación radica sólo en los tipos de comandos UPDATE, INSERT y DELETE  ejecutados.

Este ejemplo ya te mostré en el artículo anterior, con la diferencia que el orden de ejecución de sentecias ahora incluye diferentes sentencias.

A continuación te muestro el resultado de la ejecución. Cómo no ocurrió ningun error, entonces la salida de la consola se realiza de forma bastante limpia.

Incluir sentencias SQL diferentes en más de una transacción

De la misma forma, con el sólo hecho de llamar varias veces al método execute() del ControladorBD, se pueden establecer cuales setencias SQLs serán ejecutadas en la misma transacción. Como se muestra en la figura de abajo.

Note que en el ejemplo se combinan, control de excepción, con ejecución de sentencias en más de una única transacción.

Y al final el resultado.

Conclusión

En éste artículo aprendiste cómo montar las sentencias SQLs concatenando los comandos fijos con datos provenientes de variables.

Estas variables pueden provenir de formularios WEB o de una interfase con Swing.

Los valores que provengan de variables numéricas tienen el mismo tratamiento de concatenación para todos los tipos de datos en Java int, byte, short, double, float, así como sus clases Envoltorias.

Te mencioné que las variables del tipo String, deben concatenarse con cuidado agregando las comillas simples antes y despues de la variable, de forma a evitar un error en el servidor.

Al servidor pueden enviarse cualquier sentencia SQL, en cualquier orden, si la sentencia SQL es válida para el servidor, esta la ejecuta sin problemas.

Acceso a todo el tutorial

Esta entrada forma parte de un tutorial de java que estoy desarrollando, para ver indice de contenido presiona aquí

Marcos Jara

Esta entrada fue publicada en Uncategorized y etiquetada , , , , , , , , , . Guarda el enlace permanente.

6 respuestas a Tutorial Java – Creando el Test de Conexion a la BD # 3

  1. David Pacios dijo:

    Hola Marcos, entendí bien los conceptos, si no me equivoco hemos usado variables String, hemos usado una o varias sentencias SQL en una o varias transacciones, hemos usado Excepciones de una o varias sentencias SQL, segun las Excepciones que queramos asignar cada una de ellas en una o varias transacciones. Lo que me he dado cuenta es de que el ControladorBD nos facilita mucho el trabajo, seria bueno que nos hiciera un tutorial del ControladorBD para ender mejor su funcionamiento, Felicidades por su trabajo y un slaudo.

  2. Leonardo dijo:

    Hola Marcos, sigo practicando con tu API, lo que quiero hacer ahora es ingresar datos por medio de un formulario en un jTextField y quiero guardarlo en la base de datos. La forma que encontre de hacerlo es la siguiente y quería consultarte si es la correcta o hay alguna otra forma mas eficiente:

    String nombre = jTextField1.getText();

    String sql = ” “;
    sql = “INSERT INTO usuarios (us_nombre) VALUES ( ‘ ” + nombre + ” ‘ )”;

    try{

    ControladorBD.addSql(sql);
    ControladorBD.execute();

    Muchas gracias por tu ayuda.
    Saludos.

    • Marcos Jara dijo:

      Hola Leonardo,

      Un gusto saludarte, y me siento honrrado por estar utilizando la API que desarrollé…

      Está correctisima tu implementación, creo que lo vas ententiendo bastante bien, ya que es así mismo como se hace.

      Saludos y éxitos

      • Leonardo dijo:

        Hola Marcos, que lo esté entendiendo, es todo gracias a tu enorme generosidad y dedicación en hacer el mejor tutorial de java en internet que se pueda encontrar !!!!

        Realize varios ejercicios y no he tenido problemas, pero no puedo entender el tema de las fechas. Lo que quiero hacer es obtener la fecha de un jTextField e insertarlo en la base de datos pero me ha sido imposible. No se si hay que guardarlo en una variable String, Integer, pasarlo a un Date, GregorianCalendar o de que manera.

        Busqué en internet pero no encontré alguno que lo pueda entender, si me puedes referir algun sitio donde este bien explicado o como lo manejas vos, te lo voy a agradecer.

        Nuevamente, muchas gracias por tu ayuda.

        Saludos.

  3. oscar dijo:

    buenas marcos te felicito por estet tutorial que en estos momentos me es de gran ayuda, solo queria preguntarte, si uno utilizando JPA puede incorporar el Controlador que desarrollastes. espero tu respuesta gracias.

    • Marcos Jara dijo:

      Hola..

      No entiendo para qué querrías utilizar JPA y utilizar el controlador al mismo tiempo… si me explicas un poco mejor a lo mejor te puedo dar una respuesta más adecuada a tu necesidad

      SAludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s