Está en la página 1de 7

PROGRAMACIÓN ORIENTADA A OBJETOS

LABORATORIO N° 11

STATEMENT Y RESULTSET

CODIGO DEL CURSO:

Alumno(s) Nota

Juy Quispe Mijael Sebastian


Grupo c
Ciclo II
Fecha de entrega 11/11/2023

DESARROLLO DE SOFTWARE Ing. Marcelo Miranda Maldonado


PROGRAMA DE FORMACIÓN REGULAR gmirandam@tecsup.edu.pe
PROGRAMACIÓN ORIENTADA A OBJETOS Página 1 de 5

I.- OBJETIVOS:
• Instalar y configurar los componentes necesarios para programar en Java (Windows 10).
• Crear, compilar, ejecutar y depurar programas de Java.

II.- SEGURIDAD:
Advertencia:
En este laboratorio está prohibida la manipulación del
hardware, conexiones eléctricas o de red; así como la
ingestión de alimentos o bebidas.

III.- FUNDAMENTO TEÓRICO:


Revise sus diapositivas del tema antes del desarrollo del laboratorio.

IV.- NORMAS EMPLEADAS:


No aplica

V.- RECURSOS:
• En este laboratorio cada alumno trabará con un equipo con Windows 10.
• La instalación del software requerido se realizará en un equipo Virtual

VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:


• El desarrollo del laboratorio es individual.

VII.- EJERCICIOS A DESARROLLAR:

Base de datos Oracle o Mysql

• Elabore una tabla Alumnos en Mysql


• La estructura de Alumnos:
o Código (Entero)
o Apellidos (Texto)
o Nombres (Texto)
o DNI (Texto)
o Dirección (Texto)

USE lab_11;
CREATE TABLE Alumnos (
Codigo INT AUTO_INCREMENT PRIMARY KEY,
Apellidos VARCHAR(255),
Nombres VARCHAR(255),
DNI VARCHAR(10),
Direccion VARCHAR(255)
);
PROGRAMACIÓN ORIENTADA A OBJETOS Página 2 de 5

Java
• Registre alumnos
• Mostrar alumnos
• Realizar una búsqueda de alumnos por DNI
import java.sql.*;
import java.util.Scanner;

public class Registro {


static final String JDBC_URL = "jdbc:mysql://localhost:3306/lab11";
static final String USER = "sqluser";
static final String PASSWORD = "password";

public static void main(String[] args) {


try (Connection connection = DriverManager.getConnection(JDBC_URL, USER,
PASSWORD)) {
registrarAlumno(connection);
mostrarAlumnos(connection);
buscarAlumnoPorDNI(connection);
} catch (SQLException e) {
e.printStackTrace();
}
}

private static void registrarAlumno(Connection connection) {


try (PreparedStatement preparedStatement = connection.prepareStatement(
"INSERT INTO Alumnos (Apellidos, Nombres, DNI, Direccion) VALUES
(?, ?, ?, ?)")) {
try (var scanner = new Scanner(System.in)) {
System.out.println("Registro de Alumno:");

System.out.print("Apellidos: ");
preparedStatement.setString(1, scanner.nextLine());

System.out.print("Nombres: ");
preparedStatement.setString(2, scanner.nextLine());

System.out.print("DNI: ");
preparedStatement.setString(3, scanner.nextLine());

System.out.print("Dirección: ");
preparedStatement.setString(4, scanner.nextLine());

preparedStatement.executeUpdate();
System.out.println("Alumno registrado correctamente.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void mostrarAlumnos(Connection connection) {
System.out.println("\nListado de Alumnos:");
PROGRAMACIÓN ORIENTADA A OBJETOS Página 3 de 5

try (Statement statement = connection.createStatement();


ResultSet resultSet = statement.executeQuery("SELECT * FROM
Alumnos")) {
while (resultSet.next()) {
imprimirInfoAlumno(resultSet);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void buscarAlumnoPorDNI(Connection connection) {
try (var scanner = new Scanner(System.in)) {
System.out.println("\nBúsqueda de Alumno por DNI:");

System.out.print("Ingrese el DNI a buscar: ");

if (scanner.hasNextLine()) {
String dniBusqueda = scanner.nextLine();

try (PreparedStatement preparedStatement =


connection.prepareStatement(
"SELECT * FROM Alumnos WHERE DNI = ?")) {
preparedStatement.setString(1, dniBusqueda);
try (ResultSet resultSet = preparedStatement.executeQuery())
{
if (resultSet.next()) {
imprimirInfoAlumno(resultSet);
} else {
System.out.println("No se encontró el DNI
proporcionado.");
}
}
}
} else {
System.out.println("No se proporcionó ningún DNI para buscar.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void imprimirInfoAlumno(ResultSet resultSet) throws
SQLException {
System.out.println("Código: " + resultSet.getInt("Codigo"));
System.out.println("Apellidos: " + resultSet.getString("Apellidos"));
System.out.println("Nombres: " + resultSet.getString("Nombres"));
System.out.println("DNI: " + resultSet.getString("DNI"));
System.out.println("Dirección: " + resultSet.getString("Direccion"));
System.out.println();
}
}
PROGRAMACIÓN ORIENTADA A OBJETOS Página 4 de 5

Salida:

Benavente Juan 70651878

Perez Paolo 78526952


PROGRAMACIÓN ORIENTADA A OBJETOS Página 5 de 5

CONCLUSIONES:
➢ Ejecución de Consultas: Un objeto Statement se utiliza para
ejecutar consultas SQL en una base de datos.
➢ Almacenamiento de Resultados: Un ResultSet es un conjunto de
resultados devuelto por una consulta SQL.
➢ Iterativo: Los ResultSet son iterativos, lo que significa que puedes
recorrerlos fila por fila para procesar los resultados de la consulta.
➢ Manejo de Transacciones: Los objetos Statement se utilizan para
manejar transacciones en bases de datos.
➢ Interfaz Común: Aunque la interfaz puede variar según el lenguaje de
programación y la biblioteca de acceso a la base de datos, la idea general
de un Statement es proporcionar una interfaz común para ejecutar
comandos SQL.

Observaciones:
➢ Estática: Un Statement es estático y precompilado. La consulta
que se va a ejecutar se conoce en el momento de la creación
del objeto Statement.
➢ No Almacena Resultados: Un Statement no almacena los resultados
de una consulta.
➢ Sensible al Tipo: La manipulación de datos en un ResultSet a menudo es
sensible al tipo de base de datos y al driver utilizado.
➢ Manejo de Excepciones: Es importante manejar las excepciones
asociadas con ResultSet, como SQLExceptions, para garantizar un
manejo adecuado de errores.
➢ Manejo de Excepciones: Es importante manejar las excepciones
asociadas con ResultSet, como SQLExceptions, para garantizar un
manejo adecuado de errores.

"Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo”. Benjamín Franklin (1706-1790)

También podría gustarte