Está en la página 1de 22

1

MANUAL DE LA BASE DE DATOS HOSPITAL



1. Crear la base de datos y sus correspondientes tablas




c
reate
datab
ase
hospi
tal;

create table hospitales(codigo varchar(8)primary key,
nombre varchar(50),
direccion varchar(50),
cantcamas int(5));
2


create table salas(codigo varchar(8)primary key,
nombre varchar(50),
camas varchar(50),
codigohosp varchar(8),
foreign key(codigohosp) references hospitales(codigo));

create table pacientes(cedula varchar(8)primary key,
nombre varchar(50),
sexo varchar(10),
fnac varchar(20),
nreg varchar(20),
ncama int(5),
direccion varchar(50),
codigosal varchar(8),
foreign key (codigosal) references salas(codigo));

create table telhosp(telefono varchar(10)primary key,
cdhosp varchar(8),
foreign key(cdhosp) references hospitales(codigo));


2. para conectar mysql con java se necesita un driver, y se necesita
colocarlo en la siguiente direccin:

C:\Program Files\Java\jdk1.7.0_45\jre\lib\ext



3. Abrir netbeans, enseguida se crea un nuevo proyecto con el nombre de
sistemahospital.
3



Ruta: File/ Newproject/ Java/J ava Aplication/ sistemahospital.

Despus de crear el proyecto enseguida se crea un jframe con el
nombre de interfazhospital (interfazhospital.java).
4




4. En el archivo principal sistemahospital.java, se manda llamar el Jframe
con los siguientes cdigos:
interfazhospital interfaz = new interfazhospital();
interfaz.setLocationRelativeTo(interfaz);
interfaz.setVisible(true);


Nota: Con estos cdigos nuestro proyecto podr compilarse con el Jframe
creado.

5

5. En el Jframe creado (interfazhospital.java) disearemos el siguiente
interfaz.
Se inserta una TabbedPane
Se inserta 3 panel dentro del TabbedPane en la misma lnea como se
muestra en la imagen siguiente.








Cada componente del interfaz se configura y queda de la siguiente forma:








Los primeros componentes son del primer panel que es de Alta a Hospitales.
Label (cdigo, Nombre, Direccin, N Cama y N Telfono).
TextField (txtcodigo, txtnombre, txtdireccion, txtcamas, txttelfpac).
Botn (btnguardar, btnnuevo, btncerrar, btnagregarnumero,
btneliminarnumero).
List (Jlistnumhospital).
Table (tbhospitales).

6

Al terminar de disear el interfaz para dar alta al hospital,al final de
cerrar la ultima llave del programa se crean los objetos para la
conexin con la base de datos y los cdigos son los siguientes:

conectar cc = new conectar();
Connection cn = cc.conexion();

6. se crea una clase dentro del proyecto con el nombre de conexin
(conexin.java).








Despus de crear la clase, se procede a programarlo con los siguientes
cdigos:
package sistemahospital;

import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;

public class conexion {
Connection conexion = null;
public Connection conexion()
{
try {
Class.forName("com.mysql.jdbc.Driver");
conectar =
DriverManager.getConnection("jdbc:mysql://localhost/hospital","root","12345");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
return conectar;
7

}


7. Se programara el botn Nuevo. Dndole doble clic en ella y nos llevara
enla rea de codificacin:

private void btnnuevoActionPerformed(java.awt.event.ActionEvent evt)
{
this.txtcodigo.setText("");
this.txtnombre.setText("");
this.txtdireccion.setText("");
this.txttelfpac.setText("");
this.txtcamas.setText("");

lista.removeAllElements();
this.jlistnumhospital.setModel(lista);
}
Con estas lneas de cdigos sirve para limpiar los datos ingresados en la pantalla
e ingresar nuevos datos segn el sistema.


8. Ahorra programaremos el botn Guardar, dndole 2 clic sobre en ella.

Sobre en esta lnea ingresaremos los siguientes cdigos:
private void btnguardarActionPerformed(java.awt.event.ActionEvent evt) {
try {
PreparedStatement pst = cn.prepareStatement("INSERT INTO
hospitales(codigo,nombre,direccion,cantcamas) VALUES (?,?,?,?)");
pst.setString(1,this.txtcodigo.getText());
pst.setString(2,this.txtnombre.getText());
pst.setString(3,this.txtdireccion.getText());
pst.setInt(4,Integer.parseInt(this.txtcamas.getText()));
pst.executeUpdate();
mostrardatos();

//CODIGO PARA GUARDAR EN LA TABLA DE TELEFONO
String cdhosp, telefono;
cdhosp = this.txtcodigo.getText();
for(int i=0;i<this.jlistnumhospital.getModel().getSize();i++)
{
8

telefono = this.jlistnumhospital.getModel().getElementAt(1).toString();
pst = cn.prepareStatement("insert into telhosp(telefono,cdhosp)
values(?,?)");
pst.setString(1,telefono);
pst.setString(2,cdhosp);
pst.executeUpdate();
}

} catch (Exception e) {

JOptionPane.showMessageDialog(null, e);
}
}
Con estos cdigos ya podremos ingresar y gradar los registros de la base de datos









9. Ahora se proceder a programar el botn Agregar, dndole doble clic
sobre ella y nos llevara a la rea de programacin:

En esta rea ingresaremos primero una lnea de cdigo antes de la clase (una
lnea antes de la clase a programar) con los siguiente cdigos:

DefaultListModel lista =new DefaultListModel();

Ahorra se ingresara los siguientes cdigos dentro de la clase Agregar:

private void btnagregarnumeroActionPerformed(java.awt.event.ActionEvent
evt)
{
lista.addElement(this.txttelfpac.getText());
this.jlistnumhospital.setModel(lista);

}


9

10. Se procede a programar el botn Eliminar Telefono, doble clic en ella y
nos llevara en la rea de codificacin:

Se ingresaran los siguiente cdigos dentro de la clase:

private void btneliminartelefonoActionPerformed(java.awt.event.ActionEvent
evt)
{
try {
int index;
index = this.jlistnumhospital.getSelectedIndex();
lista.removeElementAt(index);
this.jlistnumhospital.setModel(lista);

}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "NO Se Seleciono Ningun
Elemento");
}
}


11. Ahora se agregara un nuevo componente Table donde se visualizar
todos los registros ingresados a la base de datos.
Una vez agregado la tabla en en interfaz se procede a configurarlo:
Dndole clic secundario en la tabla /Table Contennts
Columns(eliminar todos)
Rows(inicializar a cero)
close.





10

12. Se crea el mtodo para mostrar los datos de la tabla hospitales, se
ingresan los siguientes cdigos:

void mostrardatos()
{
DefaultTableModel modelo = new DefaultTableModel();
modelo.addColumn("Codigo Hospital");
modelo.addColumn("Nombre Hospital");
modelo.addColumn("Direccion Hospital");
modelo.addColumn("Camas Hospital");

this.tbhospitales.setModel(modelo);

String[] datos = new String[4];

try {
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery("select *from hospitales");
while(rs.next())
{
datos[0]=rs.getString(1);
datos[1]=rs.getString(2);
datos[2]=rs.getString(3);
datos[3]=rs.getString(4);
modelo.addRow(datos);

}
this.tbhospitales.setModel(modelo);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, e);
}

}


13. Se agrega el mtodo en el constructor.

public hospital() {
initComponents();
mostrardatos();
11

}














PARTE 2. ALTA SALAS

1. Se creara un nuevo panel llamado Alta Salas dentro del panel de Alta
Salas y sus componentes estarn compuesto por los siguientes:

Label (cdigo, Nombre, N Cama y Hospital).
TextField (txtcodsala, txtnumsala, txtcamsalas).
Boton (btnguardarsala).
Combobox (comboboxhospitales, combocodigo).
Table (tabsalas).

Nuestra pantalla quedara de la siguiente forma:
12


2. Se programara el botn de Guardar, doble clic en ella y nos llevara en
la rea de programacin, ingresaremos los siguientes cdigos:

private void btnguardarsalasActionPerformed(java.awt.event.ActionEvent
evt)

{

try
{
int num;
String sel;
num = this.ComboBoxsalas.getSelectedIndex();
this.ComboBoxcodigo.setSelectedIndex(num);
sel = (String)this.ComboBoxcodigo.getSelectedItem();

PreparedStatement pst = cn.prepareStatement("insert into
salas(codigo,nombre,camas,codigohosp) values (?,?,?,?)");
pst.setString(1,this.txtcodigosalas.getText());
pst.setString(2,this.txtnombresalas.getText());
pst.setString(3,this.txtcodigosalas.getText());
pst.setString(4, sel);
pst.executeUpdate();
mostrardatossalas();
} catch (SQLException sQLException) {
}
}


3. Ahora se agregara un nuevo componente Table donde se visualizar
todos los registros ingresados a la base de datos.

Una vez agregado la tabla en en interfaz se procede a configurarlo:
Dndole clic secundario en la tabla /Table Contennts
13

Columns(eliminar todos)
Rows(inicializar a cero)
close.






4. Se crea el mtodo para mostrar los datos de la tabla salas, los cdigos
son los siguientes:

void mostrardatossalas()
{
DefaultTableModel modelo = new DefaultTableModel();
modelo.addColumn("Codigo Salas");
modelo.addColumn("Nombre Salas");
modelo.addColumn("Direccion Salas");
modelo.addColumn("Codigo Hosp");

this.tabsalas.setModel(modelo);

String[] datos = new String[4];

try {
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery("select *from salas");
while(rs.next())
{
datos[0]=rs.getString(1);
datos[1]=rs.getString(2);
datos[2]=rs.getString(3);
datos[3]=rs.getString(4);
modelo.addRow(datos);

}
this.tabsalas.setModel(modelo);
14

}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}


5. Se manda a llamar el mtodo mostrardatossalas(); en el constructor.

public hospital()
{
initComponents();
mostrardatos();
mostrardatossalas();
}

6. Se programara el ComboBox , con ellos se creara el mtodo para
mostrar los nombres y el cdigo de los hospitales dados de alta en los
combobox.

void mostrarcombobox()
{
try {
ResultSet resultado;
Statement sentencia = cn.createStatement();

resultado = sentencia.executeQuery("select nombre,codigo from hospitales");
while(resultado.next())
{
this.cbhopac.addItem(resultado.getObject("Nombre"));
this.cbcodhopac.addItem(resultado.getObject("codigo"));
this.ComboBoxsalas.addItem(resultado.getObject("nombre"));
this.ComboBoxcodigo.addItem(resultado.getObject("codigo"));
}

} catch (SQLException sQLException) {

}
}

7. Se manda a llamar el mtodo mostrarcombobox(); en el constructor.

15

public hospital()
{
initComponents();
mostrardatos();
mostrardatossalas();
mostrarcombobox();
}


8. Se crea el mtodo para no repetir los datos registrados de la tabla
hospital, dados de alta.

void limpiarcombobox()
{
int elementos =this.ComboBoxsalas.getItemCount();
for (int i=0; i<elementos;i++)
{
this.ComboBoxsalas.removeItemAt(0);
this.ComboBoxcodigo.removeItemAt(0);
}
}


9. Se manda a llamar el mtodo limpiarcombobox(); en el constructor.

public hospital()
{
initComponents();
mostrardatos();
mostrardatossalas();
mostrarcombobox();
limpiarcombobox();
}


10. Se manda a llamar el mtodo limpiarcombobox(); en el botn de
guardar del panel de Alta a Paciente. Entre la lnea de mostrardatos();
y mostrarcombobox(); Como se ve a continuacin en la figura.


16


11. Se programara el botn cerrar

private void btncerrarActionPerformed(java.awt.event.ActionEvent evt)
{
dispose();
}

Nuestra pantalla quedara de la siguiente manera:

PARTE 3. ALTA PACIENTE

1. Se agregara un nuevo panel en jTabbedPane y sus componentes
estar compuesto por los siguientes:

Label (cedula,Nombre,Sexo,Fecha de Nacimiento,N Registro, Ncama,
Direccion, Hospital, Sala).
TextField (txtcedula, txtnombrepaciente, txtfechanacipaciente, txtregistro,
txtcamapaciente, txtdireccionpaciente)
17

Combobox (combosexo, cbhopac, cbcodhopac, combopacsala1,
combopacsala2)
Table (tabpaciente)
Nuestro interfaz quedara de la siguiente manera:


2. Se programara el ComboBox (cbhopac, cbcodhopac)

cbhopac cbcodhopac


cuando se selecione un hospital, se debe mostrar solo las salas que pertenece
dicho hospital, para ello se necesita realizar una consulta, se necesita enviar un
valor( la llave primaria del hospital) por ello se programara de la siguiente forma.

En cbhopac (ComboBox) se le agregara los siguientes cdigos:

int num2;
String sel2;
num2 = this.cbhopac.getSelectedIndex();
this.cbcodhopac.setSelectedIndex(num2);
18

sel2 = (String) this.cbcodhopac.getSelectedItem();
salashospitales(sel2);
}



3. Se crea un mtodo salashospitales(); para visualizar las salas del
hospital dadas de alta.

void salashospitales(String codhosp)
{
try {
ResultSet resultado;
Statement sentencia = cn.createStatement();
limpiarcombobox();
resultado= sentencia.executeQuery("select
salas.codigo,salas.nombre from hospitales,salas where
hospitales.codigo=salas.codigohosp and salas.codigohosp
='"+codhosp+"'");
while(resultado.next())
{
this.combopacsala1.addItem(resultado.getObject("nombre"));
this.combopacsala2.addItem(resultado.getObject("codigo"));
}
} catch (SQLException sQLException)
{
}
}



4. En el mtodo limpiarcombobox(); creado, se le anexa los siguientes
cdigos para no repetir las salas y hospitales dados de alta al sistema:


{

int registros = this.ComboBoxcodigo.getComponentCount();
for (int i=0; i<elementos;i++)
{
this.combopacsala1.removeAllItems();
this.combopacsala2.removeAllItems();
}
19


ver imagen.




5. Se programara el botn de Guardar con los siguientes cdigos:

private void btnguardarpacienteActionPerformed(java.awt.event.ActionEvent evt) {
try {
//Para que se posicione en el codigo de la sala dependiendo de la sala que
se seleccione
int location;
location = this.combopacsala1.getSelectedIndex();
this.combopacsala2.setSelectedIndex(location);

//Capturar los valores del combobox que estan seleccionados
String sexo,codigosal;
sexo = (String) this.combosexo.getSelectedItem();
codigosal = (String) this.combopacsala2.getSelectedItem();

PreparedStatement pst = cn.prepareStatement("insert into
pacientes(cedula,nombre,sexo,fnac,nreg,ncama,direccion,codigosal) values
(?,?,?,?,?,?,?,?)");
pst.setString(1,this.txtcedula.getText());
pst.setString(2,this.txtnombrepaciente.getText());
pst.setString(3,sexo);
pst.setString(4,this.txtfechanacipaciente.getText());
pst.setString(5,this.txtregistro.getText());
pst.setInt(6,Integer.parseInt(this.txtcamapaciente.getText()));
pst.setString(7,this.txtdireccionpaciente.getText());
pst.setString(8,codigosal);
pst.executeUpdate();
20

mostrardatospaciente();
} catch (Exception ex)
{
JOptionPane.showMessageDialog(this,"Error"+ex.getMessage());
}
}

6. Se crea el mtodo para mostrar los datos de la tabla salas, los cdigos
son los siguientes:

void mostrardatospaciente()
{
DefaultTableModel modelo = new DefaultTableModel();
modelo.addColumn("Cedula");
modelo.addColumn("Nombre");
modelo.addColumn("Sexo");
modelo.addColumn("Fecha Nacimiento");
modelo.addColumn("Registro");
modelo.addColumn("N Cama");
modelo.addColumn("Direccin");
modelo.addColumn("Codigo Sala");

this.tabpaciente.setModel(modelo);
String []datos = new String[8];

try {
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery("select * from pacientes");
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(5);
datos[5]= rs.getString(6);
datos[6]= rs.getString(7);
datos[7]= rs.getString(8);
modelo.addRow(datos);

}

this.tabpaciente.setModel(modelo);
} catch (Exception e)
21

{
JOptionPane.showMessageDialog(null, e);
}
}


7. Se manda a llamar el mtodo mostrardatospaciente(); en el
constructor.

public hospital()
{
initComponents();
mostrardatos();
mostrardatossalas();
mostrarcombobox();
limpiarcombobox();
mostrardatospaciente();
}

8. Se programara el botn nuevo, con los siguientes cdigos:
private void btnnuevopacienteActionPerformed(java.awt.event.ActionEvent evt)
{
this.txtcedula.setText("");
this.txtnombrepaciente.setText("");
this.txtcamapaciente.setText("");
this.txtdireccionpaciente.setText("");
this.txtfechanacipaciente.setText("");
this.txtregistro.setText("");
}
Pantalla final de nuestro sistema.
22

También podría gustarte