domingo, 2 de marzo de 2025

Consultas de SQL server desde Java JDB.

 Consultas de SQL server desde Java JDB y apache NetBeans

Presentado por:
Andres Bonilla.
Aprendiz.






SQL es el lenguaje usado para consultar y actualizar información en Mysql, Access, entre otras bases de datos. La sentencia SELECT puede combinarse con algunas funciones que permite realizar consultas avanzadas a las tablas. Algunas de esas funciones son: 

  • GROUP BY  
  • DISTINCT  
  • SUM  
  • AVG  
  • COUNT  
  • CONCAT  
  • MIN  
  • MAX

Escoja una de las opciones anteriores e investigue en internet como usarla. 

En mi caso he seleccionado para aplicar la consulta DISTINCT, la cual es es encargada de buscar dentro de las columnas de la base de datos, las que no tienen datos repetidos, por medio de esta, puede brindarle al usuario que utilice el programa una ayuda para eliminar ciertas ccolumnas de la tabla; este trabajo es hecho por medio de lo explicado por el docente en la actividad 3 de el curso complementario del sena titulado: "DESARROLLO DE APPLETS/APLICACIONES CON USO DE BASE DE DATOS, REDES, SERVLETS Y MULTIMEDIA (3148767)".

La siguiene imagen es la funcion que se crea para poder invocar desde otro archivo la misma funcion, y asi poder conocer las tablas que no se encuentran repetidas:

Con esto la funcion lo que esta solicitando son dos columnas a analizar, dentro de la siguiene linea de codigo lo esta solicitando: System.out.println(resultSet.getString("nombre") + ", " + resultSet.getString("NameDisco")); se le entregan las columnas de nombre y NameDisco para que pueda funcionar como es debido.

La siguiente imagen es de la base de datos, con algunas columnas repetidas para ejemplificar el funcionamiento:

Se puede observar en la tabla que los id 7 y 9 se encuentran repeidos, al llamar la funcion desde el codigo anterior mente mostrado en el JForm podemos observar lo siguiente:

Primero, no lo llame directamente, sino que lo limite a cuando se presione un Jbutton en la inerfaz, la cual es:

Se puede observar en el circulo verde el boton del que depende el funcionamiento de la funcion declarada hace un momento, al presionarlo, se puede ver en la consola lo siguiente:

Aqui se puede observar unicamente dos columnas, cuando en la tabla completa se observaban 3 de ellas. De esta forma se demuestra el funcionamiento de la consulta DISTINCT, y se da por terminada la explicacion.

Andres Bonilla.
Aprendiz.


sábado, 1 de marzo de 2025

Explicacion de la funcionalidad de un servidor nativo desde JAVA (Socket)

EXPLICACIÓN DE LA FUNCIONALIDAD DE UN SERVIDOR NATIVO DESDE JAVA (SOCKET)

Presentado por:
Andres Bonilla.
Aspirante.


Por medio de una guía de aprendizaje se dio la indicación de la creación de una wiki que se encargara de recopilar la funcionalidad del código aplicado durante la misma y con los criterios a adicionar por parte del aprendiz, la creación de esta wiki busca cumplir con los requerimientos solicitados para recopilar la funcionalidad de un servidor interno y nativo desde java con la clase Socket (cabe aclarar que no es el titulo original de la actividad a la que refiere, sin embargo a consideración del editor y aprendiz es el tema central).

Para esta actividad se tienen en cuenta los siguientes criterios:

- Para esta explicación se tendrá en cuenta únicamente las partes más importantes del mismo parra no alargar innecesariamente esta publicación.

 

- Con respecto al Código y a la explicación del docente sobre el mismo, se buscó un cambio en cuanto al nombre de las variables y métodos

 

- Por medio de capturas obtenidas directamente desde el editor de Código utilizado (Apache NetBeans IDE 17) se explicará el Código.

 

Archivos y explicación de Código:

1. ClienteHilo.

Dentro de este archivo se genera el siguiente código:


ClienteHilo, que extiende de la clase Thread tiene la función de crear las  clases: In & Out, las cuales son un acceso  directo a lo que es el  servidor nativo que en un momento se creara; gracias  a estas clases  es que podemos ingresar valores directamente al servidor.


2. ServerHilo.

Dentro de este archivo se genera el siguiente código:

ServerHilo, al igual que ClienteHilo busca crear una serie de accesos al servidor, en este caso le  agrega el String datos que más adelante va a permitir mostrar una serie de Strings o Ints dentro de lo que le pidamos  que  muestre el servidor.


3. Server.

Dentro del servidor, lo que creamos es un ServerSocket que almacene temporalmente  una serie  de datos, los cuales, claramente no los tendrá de  base el servidor, los mismos tendrá que  ser digitados por el usuario dentro de una clase que en  un momento se  explicara; el servidor  da una serie de requerimientos,  es decir requisitos para poder cumplir las funciones establecidas, las cuales para el ejemplo son almacenar temporalmente lo ingresado, el servidor por defecto quedara encendido dentro del  editor de código,  y tiene que estarlo para poder  recibir la información necesaria.



4. Cliente.


Este archivo tiene dos partes, esta imagen es la primera, se está creando el acceso y la conexión directa con el servidor antes comentado, la ip establecida por defecto (la que tiene el servidor) es 127.0.0.1 con el puerto 5000; a partir de esto se crean las instancias que en los anteriores archivos se había creado, como in o out, a partir de estas se ingresara la información obtenida de los requisitos que pedía la actividad, los cuales eran:

  •  Se deben pedir 10 números.
  •  La suma de todos estos.
  •  Encontrar el número mayor y menor.

A partir de esto se crea un ciclo for para pedir los diez números, se empieza el contador desde 1 hasta que se cumpla la condición de ser igual a 10, este se pide a partir del ingreso de datos del usuario por parte de la clase Scanner, y por medio de la misma el valor de cada número se almacena temporalmente (1=100 es un ejemplo), en cuanto a encontrar el número mayor y menor, por medio de un condicional if se solicita que el numero < menor, siendo menor una variable resultante de un Integer.MAX_VALUE, que busca iniciar con el mayor número posible de la variable, y el condicional lo que hace es preguntar si este número es menor que el número que el usuario estará digitando, con cada número que pregunte se hará este proceso, modificando su valor constantemente, es la misma teoría para el numero mayor.


Frente a la segunda parte del codigo:

Lo que se busca aquí es la impresión en la terminal del resultado de la suma de todos los números y el menor y mayor de todos los ingresados, además por medio del uso de la creación de una variable se ingresan estos valores para enviarlos directamente al servidor con las instancias y requisitos que el mismo necesita para poder mostrarlas en la consola del servidor. Para todo este proceso fue necesario el uso de un Try & Catch, que se encargara de instanciar todo el proceso, por si durante ocurre algún error siguiera ejecutando en cuando fuera capaz el programa en cuestión.


FUNCIONAMIENTO DEL PROGRAMA:

Para la correcta ejecución del programa, primero se debe encender el servidor por medio de Shift + F6, la consola se abrirá, saldrá un mensaje y la ejecución quedará en segundo plano, se puede ver de la siguiente forma:


Luego, se ejecuta el archivo Cliente y desde allí saldrá un mensaje que indicara donde se debe ingresar el dato del numero solicitado, posterior al ingreso de los 10 números solicitados, el programa mostrara cual es el numero mayor, el numero menor y la suma total de datos, y la terminación del programa.



Posterior al resultado que arroja Cliente, se regresa a la terminal del servidor y se puede observar lo siguiente:


De esta forma se da por terminada la explicación del programa solicitado en la actividad número 2 del curso complementario. El código completo se podrá encontrar en el siguiente link:




Este post fue creado por Andres Bonilla, aspirante.

















Consultas de SQL server desde Java JDB.

 Consultas de SQL server desde Java JDB y apache NetBeans Presentado por: Andres Bonilla. Aprendiz. SQL es el lenguaje usado para consultar ...