Вы находитесь на странице: 1из 14

EJEMPLO DE TRIGGER

--CREANDO LA BASE DE DATOS CREATE DATABASE EJERTRIGGER GO --USO USE EJERTRIGGER GO --CREANDO LA TABLA PRODUCTOS CREATE TABLE PRODUCTOS (ID_PRODUCTO CHAR(8) PRIMARY KEY NOT NULL, NOMBREPRODUCTO VARCHAR(25)NOT NULL, EXISTENCIA INT NULL, PRECIO DECIMAL(10,2)NOT NULL, PRECIOVENTA DECIMAL (10,2)) GO --CREANDO LA TABLA PEDIDO CREATE TABLE PEDIDO (ID_PEDIDO INT IDENTITY, ID_PRODUCTO CHAR(8) NOT NULL, CANTIDAD_PEDIDO INT CONSTRAINT PK_ID_PRODUCTO FOREIGN KEY(ID_PRODUCTO)REFERENCES PRODUCTOS(ID_PRODUCTO)) GO --CREANDO LA TABLA HISTORIAL CREATE TABLE HISTORIAL (ID_PRODUCTO CHAR(8) PRIMARY KEY NOT NULL, NOMBREPRODUCTO VARCHAR(25)NOT NULL, EXISTENCIA INT NULL, PRECIO DECIMAL(10,2)NOT NULL, PRECIOVENTA DECIMAL (10,2)) GO --CREANDO LA TABLA HISTORIALPRODUCTOS CREATE TABLE HISTORIALPRODUCTOS (NOMBRE VARCHAR(100), PRECIOVENTA FLOAT, USUARIO VARCHAR(100), FECHA SMALLDATETIME, ESTADO CHAR(1)) GO CREATE TRIGGER TRG_PRODUCTOS_INSER ON PRODUCTOS FOR INSERT AS BEGIN INSERT INTO HISTORIAL SELECT*FROM INSERTED END GO CREATE TRIGGER TRG_PRODUCTOS_OK ON PRODUCTOS FOR INSERT AS DECLARE @NOM VARCHAR(100) DECLARE @PRE FLOAT SELECT @NOM=NOMBREPRODUCTO, @PRE=PRECIO FROM INSERTED INSERT INTO HISTORIALPRODUCTOS VALUES (@NOM,@PRE,SUSER_NAME(),GETDATE(),'I') GO --TRIGGER QUE ACTUALIZA EL PRODUCTO SEGUN EL PEDIDO

CREATE TRIGGER TRG_PEDIDO_ARTICULOS_OK ON PEDIDO FOR INSERT AS UPDATE PRODUCTOS SET EXISTENCIA =EXISTENCIA -(SELECT CANTIDAD_PEDIDO FROM INSERTED ) WHERE ID_PRODUCTO=(SELECT ID_PRODUCTO FROM INSERTED) GO --INSERTANDO REGISTROS A LA TABLA PRODUCTOS INSERT INTO PRODUCTOS VALUES('P001','PANTALLA',5,10,12.5) INSERT INTO PRODUCTOS VALUES('P002','PARLATES',7,10,11.5) GO --ACTUALIZANDO EL REGISTRO SEGUN EL PEDIDO INSERT INTO PEDIDO VALUES('P002',5) GO --VISUALIZAR SELECT * FROM PRODUCTOS SELECT * FROM HISTORIAL SELECT * FROM HISTORIALPRODUCTOS SELECT*FROM PEDIDO

Procedimientos Almacenados (INSERT, UPDATE, DELETE)


EJEMPLO PRACTICO PARA INSERTAR, ACTUALIZAR Y ELIMINAR CON PROCEDIMIENTOS ALMACENADOS; TAMBIEN SE HACE USO DE UNA FUNCION PARA PONER LA FECHA DE ALTA, PARA ELLO SOLO SE NECESITA LA FECHA DE INSCRIPCION. --CREANDO LA BASE DE DATOS CREATE DATABASE SEPELIOS GO --HACIENDO USO USE SEPELIOS GO --CREANDO LA TABLA CREATE TABLE TITULARES_SEPELIOS (CODIGO_MUDULAR VARCHAR(4), NUMERO_SOLICITUD VARCHAR(5), APELLIDOS VARCHAR(35), NOMBRES VARCHAR(35), FECHA_INS DATETIME, FECHA_ALTA DATETIME, [PLAN] INT, MONTO DECIMAL) GO --FUNCION PARA LA FECHA DE ALTA CREATE FUNCTION FECHA_ALTA(@FECHA_INS DATETIME) RETURNS DATETIME BEGIN RETURN DATEADD(MONTH,2,@FECHA_INS) END GO --PROBANDO LA FUNCION SELECT DBO.FECHA_ALTA('01/01/2010') GO --PROCEDIMIENTO ALMACENADO (INSERTAR) CREATE PROCEDURE USP_TITULARES_S_INSERTAR @CODMOD VARCHAR(4), @NOSOLI VARCHAR(5),

@APELLI VARCHAR(35), @NOMB VARCHAR(35), @FECINS DATETIME, @PLAN INT, @PAGO DECIMAL AS BEGIN INSERT INTO TITULARES_SEPELIOS VALUES(@CODMOD, @NOSOLI,@APELLI,@NOMB,@FECINS,DBO.FECHA_ALTA(@FECINS),@PLAN,@PAGO) END GO --PROCEDIMIENTO ALMACENADO (ACTUALIZAR) CREATE PROCEDURE USP_TITULARES_S_ACTUALIZAR @CODMODU VARCHAR(4), @NOSOL VARCHAR(5), @APELL VARCHAR(35), @NOM VARCHAR(35), @FECIN DATETIME, @P INT, @PAG DECIMAL AS BEGIN UPDATE TITULARES_SEPELIOS SET NUMERO_SOLICITUD = @NOSOL, APELLIDOS = @APELL,NOMBRES = @NOM,FECHA_INS = @FECIN,FECHA_ALTA = DBO.FECHA_ALTA(@FECIN),[PLAN] =@P,MONTO = @PAG WHERE CODIGO_MUDULAR = @CODMODU END GO --PROCEDIMIENTO ALMACENADO (ELIMINAR) CREATE PROCEDURE USP_TITULARES_S_ELIMINAR @CODIGO VARCHAR(4) AS DELETE FROM TITULARES_SEPELIOS WHERE CODIGO_MUDULAR= @CODIGO GO --DEMOSTRACION --INSERTAR GO EXECUTE USP_TITULARES_S_INSERTAR 'S001','S1','VARGAS','LUIS','01/01/2011',1,700 --ACTUALIZAR GO EXECUTE USP_TITULARES_S_ACTUALIZAR 'S001','S2','JORGE','LUIS','01/01/2010',2,800 --ELIMINAR GO EXECUTE USP_TITULARES_S_ELIMINAR 'S001' --MOSTRANDO LA TABLA GO SELECT * FROM TITULARES_SEPELIOS

Ejemplo de uso de un JTable

Cdigo Fuente package examen; import javax.swing.table.DefaultTableModel; import javax.swing.*; import java.util.Vector; public class TABLA extends javax.swing.JFrame { double contotal=0; DefaultTableModel tablam = new DefaultTableModel(); public TABLA() { initComponents(); tablam.addColumn("Producto"); tablam.addColumn("Precio"); tablam.addColumn("Cantidad"); tablam.addColumn("Total"); jtablecontenido.setModel(tablam); } private void btnnuevoActionPerformed(java.awt.event.ActionEvent evt) { txtcantidad.setText(""); txtcantidad.requestFocus(); } private void cmbseleccioneItemStateChanged(java.awt.event.ItemEvent evt) { int selectedIndex = this.cmbseleccione.getSelectedIndex(); switch (selectedIndex) { case 1:txtprecio.setText("15"); jlbimagen.setIcon(new ImageIcon("F:/NETBEANS/EXAMEN/imagenes/mouse.jpg")) ;break; case 2:txtprecio.setText("200"); jlbimagen.setIcon(new ImageIcon("F:/NETBEANS/EXAMEN/imagenes/impresora.jpg")) ;break; case 3:txtprecio.setText("20"); jlbimagen.setIcon(new ImageIcon("F:/NETBEANS/EXAMEN/imagenes/teclado.jpg")) ;break; case 4:txtprecio.setText("50");

jlbimagen.setIcon(new ImageIcon("F:/NETBEANS/EXAMEN/imagenes/usb.jpg")) ;break; case 5:txtprecio.setText("80"); jlbimagen.setIcon(new ImageIcon("F:/NETBEANS/EXAMEN/imagenes/camara.jpg")) ;break; case 6:txtprecio.setText("450"); jlbimagen.setIcon(new ImageIcon("F:/NETBEANS/EXAMEN/imagenes/monitor.jpg")) ;break; } } private void btnagregarActionPerformed(java.awt.event.ActionEvent evt) { double precio = Integer.parseInt(txtprecio.getText()); int cantidad = Integer.parseInt(txtcantidad.getText()); double total; double desc;double prec; if (check.isSelected()) {prec = precio * cantidad; desc = prec * 0.15; total = prec - desc;} else {total = precio * cantidad;} contotal = contotal + total; this.txttotales.setText(contotal +""); Vector datos = new Vector(); datos.addElement(this.cmbseleccione.getSelectedItem()); datos.addElement(txtprecio.getText()); datos.addElement(txtcantidad.getText()); datos.addElement(total +""); tablam.addRow(datos); jtablecontenido.setModel(tablam); txtcontador.setText(tablam.getRowCount()+""); } private void btnquitarActionPerformed(java.awt.event.ActionEvent evt) { int indice = jtablecontenido.getSelectedRow(); tablam.removeRow(indice); jtablecontenido.setModel(tablam); } private void btnsalirActionPerformed(java.awt.event.ActionEvent evt) { if (javax.swing.JOptionPane.showConfirmDialog (this,"Esta seguro","Aviso",javax.swing.JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){ System.exit(0); } }

PowerBuilder USO DE DataWindows

Objeto: w_8 - Evento: abierto dw_1.setTransObject (SQLCA) dw_1.Retrieve () dw_1.insertRow (0) dw_2.setTransObject (SQLCA) dw_2.Retrieve () Objeto: cb_1 - Evento: clic

int c, sto, gato cadena pro diciembre pre Fecha FEC dw_1.AcceptText () c = dw_1.getItemNumber (1, "Cdigo") = dw_1.getItemString pro (1, "Producto") pre dw_1.getItemDecimal = (1, "Precio") = dw_1.getItemNumber sto (1, " stock ") = cat dw_1.getItemNumber (1, "categoria") insertar en Productos (ProductID, ProductName, preciounitario, UnidadesEnExistencias, IdCategora) valores (: c,: pro,: pre,: sto,: cat); si sqlca.sqlcode = 0 then MessageBox ("Aviso", "Registro guardado", la informacin!) ms MessageBox ("Error", "No guardo en s El Registro", la informacin!) end if dw_1.setItem (1, "Cdigo", 0) dw_1.setItem (1, "Producto ","") dw_1.setItem (1, "Precio", 0) dw_1.setItem (1, "stock", 0) dw_1 . setItem (1, "categoria", 1) dw_1.setColumn ("codigo") dw_1.setfocus () Objeto: cb_2 - Evento: clic int c, sto, gato, ret cadena pro diciembre pre Fecha FEC dw_1.AcceptText () c = dw_1.getItemNumber (1, "Cdigo") Seleccione ProductName, precioUnitario, UnidadesEnExistencias, IdCategora en : pro,: pre,: sto,: gato de Productos en ProductID =: c; si sqlca.sqlcode = 100 entonces MessageBox ("Aviso", "Codigo no existe") dw_1.setColumn (0) dw_1.setFocus () otra dw_1.setItem (1, "Producto", pro) dw_1.setItem (1, " Precio ", pre) dw_1.setItem (1, "stock", sto) dw_1.setItem (1, "categoria", gato) end if Objeto: cb_3 - Evento: clic / / Actualizar int c, sto, gato cadena pro diciembre pre Fecha FEC dw_1.AcceptText () c = dw_1.getItemNumber (1, "Cdigo") = dw_1.getItemString pro (1, "Producto") pre dw_1.getItemDecimal = (1, "Precio") = dw_1.getItemNumber sto (1, " stock ") = cat dw_1.getItemNumber (1, "categoria") / / MessageBox ("", c) Productos de actualizacin establecidos ProductName =: pro, preciounitario =: pre, UnidadesEnExistencias =: sto, IdCategora =: cat donde ProductID =: c; dw_2.setTransObject (SQLCA) dw_2.Retrieve () Objeto: cb_4 - Evento: clic int c

dw_1.AcceptText () c = dw_1.getItemNumber (1, "Cdigo") Productos Tchese lo que ProductID =: c; dw_2.setTransObject (SQLCA) dw_2.Retrieve () Objeto: cb_5 - Evento: clic int n, j = n dw_2.rowcount () bacalao int opc para j = 1 hasta n = opc dw_2.getItemNumber (j, "estado") cod = dw_2.getItemNumber (j, "obj") si opc = 1, entonces Productos borrar segn sea ProductID =: bacalao; final si la prxima dw_2.setTransObject (SQLCA) dw_2.Retrieve ()

Mostrar Imgenes a un jLabel desde un jComboBox

Cdigo Fuente package jcombobox; import javax.swing.ImageIcon; import javax.swing .*; import java.awt .*; public class JCOMBOBOXDDM extends javax.swing.JFrame { public JCOMBOBOXDDM() { initComponents(); this.jLabel2.setIcon(new ImageIcon("D:/COMBOBOX/imagenes/entrada.jpg")); cmbimagen.addItem("SELECIONE"); cmbimagen.addItem("Imagen 1"); cmbimagen.addItem("Imagen 2"); cmbimagen.addItem("Imagen 3"); cmbimagen.addItem("Imagen 4"); cmbimagen.addItem("Imagen 5"); cmbimagen.addItem("Imagen 6"); cmbimagen.addItem("Imagen 7");

} private void cmbimagenItemStateChanged(java.awt.event.ItemEvent evt) { int selectedIndex = cmbimagen.getSelectedIndex(); switch (selectedIndex) { case 1: this.jLabel2.setIcon(new ImageIcon("D:/COMBOBOX/imagenes/01.gif"));break; case 2: this.jLabel2.setIcon(new ImageIcon("D:/COMBOBOX/imagenes/02.gif"));break; case 3: this.jLabel2.setIcon(new ImageIcon("D:/COMBOBOX/imagenes/03.gif"));break; case 4: this.jLabel2.setIcon(new ImageIcon("D:/COMBOBOX/imagenes/04.gif"));break; case 5: this.jLabel2.setIcon(new ImageIcon("D:/COMBOBOX/imagenes/05.gif"));break; case 6: this.jLabel2.setIcon(new ImageIcon("D:/COMBOBOX/imagenes/06.gif"));break; case 7: this.jLabel2.setIcon(new ImageIcon("D:/COMBOBOX/imagenes/07.gif"));break; } } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { this.jTextField1.setText(this.getName()); }

USO DE JTREE - SWING

Cdigo Fuente paquete JTree; javax.swing.JTree importacin; javax.swing.tree.DefaultMutableTreeNode importacin; javax.swing.tree.DefaultTreeModel importacin; javax.swing.tree.TreePath importacin; JTree clase pblica se extiende javax.swing.JFrame ( DefaultMutableTreeNode raiz = DefaultMutableTreeNode nuevo ("Software"); DefaultTreeModel Modelo = nueva DefaultTreeModel (raiz); int i = 2; Objeto de nodo; JTree pblica () ( initComponents (); DefaultMutableTreeNode n1 = DefaultMutableTreeNode nueva ("Windows"); DefaultMutableTreeNode n2 = DefaultMutableTreeNode nuevo ("Excel"); DefaultMutableTreeNode n3 = DefaultMutableTreeNode nuevo ("Word"); modelo.insertNodeInto (n1, raiz, 0); modelo.insertNodeInto (n2, raiz, 1); modelo.insertNodeInto (n3, raiz, 2); DefaultMutableTreeNode NN1 = DefaultMutableTreeNode nueva ("Escritorio"); DefaultMutableTreeNode nn2 = DefaultMutableTreeNode nueva ("Carpetas"); DefaultMutableTreeNode NN3 = DefaultMutableTreeNode nuevo ("Acceso Directo"); DefaultMutableTreeNode nn4 = DefaultMutableTreeNode nueva ("frmulas"); DefaultMutableTreeNode NN5 = DefaultMutableTreeNode nueva ("Graficos"); DefaultMutableTreeNode nn6 = DefaultMutableTreeNode nueva ("macros"); DefaultMutableTreeNode nn7 = DefaultMutableTreeNode nueva ("Impresin"); DefaultMutableTreeNode NN8 = DefaultMutableTreeNode nueva ("Formato"); DefaultMutableTreeNode nn9 = DefaultMutableTreeNode nueva ("Tabulacion"); modelo.insertNodeInto (NN1, n1, 0); modelo.insertNodeInto (nn2, n1, 1); modelo.insertNodeInto (NN3, n1, 2); modelo.insertNodeInto (nn4, n2, 0); modelo.insertNodeInto (NN5, n2, 1); modelo.insertNodeInto (nn6, n2, 2); modelo.insertNodeInto (nn7, N3, 0); modelo.insertNodeInto (NN8, n3, 1); modelo.insertNodeInto (nn9, n3, 2); this.jTree1.setModel (modelo);

) private void jTree1MousePressed (evt java.awt.event.MouseEvent) ( intentar ( TreePath selPath = this.jTree1.getPathForLocation (evt.getX (), evt.getY ()); Nodo = selPath.getLastPathComponent ();

/ / Javax.swing.JOptionPane.showMessageDialog (esto, nodo.toString ()); ) catch (ex java.lang.NullPointerException) ( ) ) private void jTree1ValueChanged (evt javax.swing.event.TreeSelectionEvent) ( / * X = TreePath evt.getPath (); Object [] = Nodos x.getPath (); para (objeto nodo: Nodos) ( ) DefaultMutableTreeNode ultimoNodo = (DefaultMutableTreeNode) Nodos [nodos.length-1]; javax.swing.JOptionPane.showMessageDialog (esto, ultimoNodo.toString ());*/ / / Javax.swing.JOptionPane.showMessageDialog (esto, i); ) private void jButton2ActionPerformed (evt java.awt.event.ActionEvent) ( intentar ( DefaultMutableTreeNode x = (DefaultMutableTreeNode) nodo; modelo.removeNodeFromParent (x); ) catch (java.lang.IllegalArgumentException ex) ( javax.swing.JOptionPane.showMessageDialog (esto: "No Borrar PUEDE El Nodo raiz"); ) ) private void jButton1ActionPerformed (evt java.awt.event.ActionEvent) ( DefaultMutableTreeNode = nodo nuevo DefaultMutableTreeNode (this.jTextField1.getText ()); i + = 1; modelo.insertNodeInto (nodo, raiz, i); this.jTree1.setModel (modelo); )

USO DE JTABLE SWING

Cdigo Fuente package clases; import javax.swing.table.DefaultTableModel; import javax.swing.*; import java.util.Vector; public class FORM extends javax.swing.JFrame { DefaultTableModel modelo = new DefaultTableModel(); public FORM() { initComponents(); modelo.addColumn("Codigo"); modelo.addColumn("Nombre"); modelo.addColumn("Apellidos"); modelo.addColumn("Edad"); modelo.addColumn("Telefono"); modelo.addColumn("Direccion"); this.jTable1.setModel(modelo); } private void NUEVOActionPerformed(java.awt.event.ActionEvent evt) { this.nombre.setText(""); this.edad.setText(""); this.telefono.setText(""); this.direccion.setText(""); this.apellido.setText(""); this.codigo.setText(""); this.nombre.requestFocus(); } private void QUITARActionPerformed(java.awt.event.ActionEvent evt) { int i = this.jTable1.getSelectedRow(); modelo.removeRow(i); this.jTable1.setModel(modelo); } private void AGREGARActionPerformed(java.awt.event.ActionEvent evt) { Vector datos = new Vector(); datos.addElement(this.codigo.getText()); datos.addElement(this.nombre.getText()); datos.addElement(this.apellido.getText()); datos.addElement(this.edad.getText()); datos.addElement(this.telefono.getText()); datos.addElement(this.direccion.getText()); modelo.addRow(datos); this.jTable1.setModel(modelo); this.total.setText(modelo.getRowCount()+""); } private void DATOActionPerformed(java.awt.event.ActionEvent evt) { int f = this.jTable1.getSelectedRow(); String nom = modelo.getValueAt(f,0)+""; javax.swing.JOptionPane.showMessageDialog(this,nom); } private void CERRARActionPerformed(java.awt.event.ActionEvent evt) { if (javax.swing.JOptionPane.showConfirmDialog (this,"Esta seguro","Aviso",javax.swing.JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){

System.exit(0); } } private void EDITARActionPerformed(java.awt.event.ActionEvent evt) { String nombre = javax.swing.JOptionPane.showInputDialog(this,""); int fi = this.jTable1.getSelectedRow(); modelo.setValueAt(nombre,fi,0); }

Вам также может понравиться