Sei sulla pagina 1di 2

Que tal amig@s, mediante este archivo quiero resolver algunas dudas que tienen al

momento trabajar dos tablas, soobre todo para aquellos que estan trabajando con
llaves primarias tipo varchar sus tablas y que lo realacionan con otra.
Entonces lo que voy a indicar por medio de este archivo es la declaracion de
metodos y otras sugeriancias, para que puedan insertar y mostrar los datos de la
tablas de su base de datos.

Este ejemplo sera una tabla material(idMaterial,


nomMaterial,precMaterial,cantMaterial,idCat) y otra que tiene como nombre
clasematerial(idCat,nomcategoria) en la cual se relacionan mediante el campo idCat

1- Me imagino que muestran sus categorias(en este caso seria clasematerial) en un


combo box entonces crearian el siguiente metodo:
public void cargarCateg() {

String sql = "SELECT nomcategoria FROM clasematerial";

try {

Statement st = cn.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
lista.addItem(rs.getString("nomcategoria"));//lista el nombre de
nuestro combobox
}
} catch (Exception e) {
}
}

Si bien se lograria mostrar los registros de clasematerial pero solo se muetra el


nomcategoria en ningun momento muestro el idCat de la tabla clasematerial el cual
es el dato que tendriamos que guardar en la tabla material.

Entonces, cuando el usuario seleccione el item que desee, llamaremos un metodo el


cual es el siguiente:
void capturarIdCategoria(String nombre) {
try {
String sql = "SELECT * FROM clasematerial WHERE nomcategoria ='" +
nombre + "'";
String idcat = "";
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
idcat = rs.getString(1);
}
txtidcat.setText(idcat);//aqui imprimo el id de la clasematerial
seleccionada
} catch (Exception e) {
}
}

dicho me todo se llama cuando hacemos click en alguna de las opciones del combobox,
que para ello tienes que dar click derecho en el select->events->actionPerfomered.

Entonces ya imprimido en un caja de texto el valor del idCat del item


seleccionado, pasaremos a guardar el material.(Ustedes ya saben como realizarlo,si
en caso no lo sepa tengo videos en mi canal de youtube).

Ahora para mostrar los registro de la tabla material con el nombre de la


clasematerial al cual perteneces ejecutaremos el siguiente metodo:

public void mostrar() {

DefaultTableModel modelo = new DefaultTableModel();


modelo.addColumn("NUMERO");
modelo.addColumn("NOMBRE");
modelo.addColumn("PRECIO");
modelo.addColumn("CANTIDAD");
modelo.addColumn("CATEGORIA");
tablaMaterial.setModel(modelo);
String[] datos = new String[6];
try {
Statement psd = cn.createStatement();
ResultSet rs = psd.executeQuery("SELECT * FROM material,clasematerial
WHERE material.idCat = clasematerial.idCat");
while (rs.next()) {
datos[0] = rs.getString(1);
datos[1] = rs.getString(2);
datos[2] = rs.getString(3);
datos[3] = rs.getString(4);
datos[4] = rs.getString(7);
modelo.addRow(datos);
}
tablaMaterial.setModel(modelo);
} catch (SQLException ex) {
Logger.getLogger(NuevoMaterial.class.getName()).log(Level.SEVERE, null,
ex);
}

bueno espero que se haya entendido sino me lo pueden hacer llegar por medio de los
comentarios del video.
Bueno gracias..

Potrebbero piacerti anche