Entradas

Mostrando entradas de 2014

PROCEDIMIENTOS ALMACENADOS EN ORACLE 11G CON JAVA

Imagen
1. CREAR LA SIGUIENTE TABLA EN ORACLE 11G 2. CREAR EL SIGUIENTE PROCEDIMIENTO ALMACENADO 3. DISEÑAR EL SIGUIENTE FORMULARIO EN JAVA 4. CODIFICAR EN EL BOTÓN GRABAR 5. EJECUTAR LA APLICACIÓN JAVA By. Ing. Jhonatan Abal Mejia

LOGIN EN NETBEANS CON BASE DE DATOS

Imagen
DISEÑO DE FORMULARIO PROGRAMACIÓN EN EL BOTÓN INGRESAR     try{             Conexion obj = new Conexion();             Connection cone = obj.getConnection();             Statement st = cone.createStatement();             String usu = this.txtusuario.getText();             String cla = this.txtclave.getText();                       ResultSet rs = st.executeQuery("select usuario,clave from login_abal where usuario='" + usu + "' and clave='" + cla + "'");             if (rs.next()){                 JOptionPane.showMessageDialog(null, "Bienvenido Usuario al Sistema");                 new fMDI().setVisible(true);                 this.dispose();             }else{                JOptionPane.showMessageDialog(null, "Usuario no Autorizado", "Error de Acceso",JOptionPane.ERROR_MESSAGE);                 this.txtusuario.grabFocus();             }             rs.close();             cone.close();

JMENU Y JTOOLBAR EN JAVA CON ICONS

Imagen
By. Ing. CIP. Jhonatan Abal Mejia

JDesktopPane y JInternalFrame en Java

Imagen
Código fuente: package mdi; public class fMDI extends javax.swing.JFrame {     public fMDI() {         initComponents();         //pantalla escritorio         this.setTitle("Sistema de Ventas");         this.setExtendedState(MAXIMIZED_BOTH);         this.setDefaultCloseOperation(EXIT_ON_CLOSE);         //control jdesktoppane se cambio de nombre por ESCRITORIO         this.setContentPane(this.escritorio);     }  private void jMenuItem_buscarclientesActionPerformed(java.awt.event.ActionEvent evt) {                                         form2 f = new form2();        f.setVisible(true);        escritorio.add(f);     }         

CONSULTAS CON JTABLE

Imagen
package jtable; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; public class form2 extends javax.swing.JInternalFrame {     DefaultTableModel modelo = new DefaultTableModel();           public form2() {         initComponents();         setTitle("Consulta de Cargos");         //jtable         cabecera_tabla();       }     private void cabecera_tabla(){         modelo.addColumn("Cargo");         modelo.addColumn("Nombre");         jTable1.setModel(modelo);     }     private void buscar(){         try{             Conexion obj = new Conexion();             Connection cone = obj.getConnection();             PreparedStatement ps = cone.prepareStatement("Select cargo,nombre from cargo where nombre=?");             ps.setString(1, this.txtnom.getText().trim());             ResultSe

JTABLE EN JAVA

Imagen
package jtable; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; public class form1 extends javax.swing.JFrame {     DefaultTableModel modelo = new DefaultTableModel();         public form1() {         initComponents();         setLocationRelativeTo(null);         setResizable(false);         setTitle("Listado de Cargos");         //jtable         cabecera_tabla();         llenar_tabla();           }       private void cabecera_tabla(){         modelo.addColumn("Cargo");         modelo.addColumn("Nombre");         jTable1.setModel(modelo);     }     private void llenar_tabla(){                       try{             Conexion obj = new Conexion();             Connection cone = obj.getConnection();             Statement st = cone.createStatement();             ResultSet rs = st.executeQuery(&

Funciones Predeterminadas del Oracle 11g

--******************FUNCIONES NUMÉRICAS --obtiene el seno de un numero select sin(2)from dual; --obtiene el valor absoluto select abs(-100)from dual; --obtiene la raiz cuadrada select sqrt(4)as raiz_cuadrada from dual; --obtiene el redondeo de numeros decimales select round(11.235888888,2)from dual; --obtiene el resto de una division select mod(3,2) from dual; --********************FUNCIONES DE CADENA select concat('hola','mundo')from dual; select initcap('jose')from dual; select upper('maria')from dual; select lower('JESUS')from dual; select length('jose maria')from dual; select upper(replace('oracle 10g','10g','11g')) from dual; select trim('        oracle      ')from dual; select substr('E0001',1,1)from dual; select to_char(3850.0000,'$9,999.99')FROM dual; select to_char(4850.34440,'$9,999.99')FROM dual; --********************FUNCIONES DE FECHAS select sys

Funciones con Tablas en Oracle 11g

--crear una funcion que me permita mostrar el nombre de categoria de acuerdo a su codigo create or replace function f_obtener_categoria(v_cod in number)   return varchar2 is   v_nom varchar2(40); begin   select nombre into v_nom   from categoria   where IDCATEGORIA=v_cod;   return v_nom; end f_obtener_categoria; --ejecutar funcion creada select F_OBTENER_CATEGORIA(1)from dual; --by. Ing. Jhonatan

Conexion Java - Oracle 11g

package Sql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import javax.swing.JOptionPane; public class Conexion {  //var conexion  private Connection cone=null;  //funcion conexion  public Connection getConnection() {  try{  Class.forName("oracle.jdbc.OracleDriver");  String url="jdbc:oracle:thin:@localhost:1521:XE";  String user="ventas";  String pwd="123";  cone = DriverManager.getConnection(url, user, pwd);  if (cone!=null){  JOptionPane.showMessageDialog(null, "Conexion Satisfactoria Oracle 11g XE");  }  }catch(SQLException ex){  JOptionPane.showMessageDialog(null, "Error Conexion: " + ex.getMessage());  }catch(Exception e){  JOptionPane.showMessageDialog(null, "Error Driver: " + e.getMessage());  }  return cone;  } }

Restricciones (Constraint) en MS SQL Server 2012

USE BD_FERRETERIA go CREATE TABLE PRODUCTO ( codproducto char(5)not null, nombre varchar(50)not null, serie char(10)not null, marca varchar(30)not null, precio_compra decimal(6,2)not null, precio_venta decimal(6,2)not null, stock_minimo numeric(6)not null, stock_actual numeric(6)not null, stock_maximo numeric(6)not null, fecha_ingreso date not null ) go alter table producto add constraint pk_codproducto primary key(codproducto) go alter table producto add constraint ck_codigo check(codproducto like '[A-Z][A-Z][0-9][0-9][0-9]') go alter table producto add constraint uq_serie unique(serie) go alter table producto add constraint ck_validar_precios check(precio_venta>precio_compra) go alter table producto add constraint df_stock_minimo default 5 for stock_minimo go alter table producto add constraint ck_validar_stock_actual check(stock_actual >= 5) go alter table producto add constraint ck_validar_stock_maximo check(stock_maximo > stock_m

CURSORES EXPLICITOS EN ORACLE

--cursor1 declare cursor c3 is      select nombre from pais;      vpais varchar2(30); begin open c3; loop      fetch c3 into vpais;      exit when c3%notfound;      dbms_output.put_line('Pais: ' || vpais); end loop;     close c3; end; --cursor2 DECLARE CURSOR c2 IS   SELECT PLAZA,NOMBRE,COLEGIO FROM MEDICO WHERE ESPECIALIDAD='0001';   vplaza medico.plaza%type;   vnombre medico.nombre%type;   vcolegio medico.colegio%type; begin open c2; Loop      fetch c2 into vplaza, vnombre, vcolegio;      EXIT WHEN c2%NOTFOUND;      dbms_output.put_line('Plaza: ' || vplaza);      dbms_output.put_line('Medico: ' || vnombre);      dbms_output.put_line('Colegio: ' || vcolegio); End Loop;   close c2; end;   --cursor3 DECLARE CURSOR c1 IS   SELECT * FROM USUARIO WHERE CARGO='MEDICO';   campo usuario%rowtype; begin      open c1; loop     fetch c1 into campo;     EXIT WHEN C1%NOTFOUND;           dbms_output.put_lin

PROCEDURE CON CURSOR ORACLE

--PROCEDURE CON CURSOR CREATE OR REPLACE PROCEDURE P_BUSCAR (COD NUMBER) IS BEGIN DECLARE CURSOR C_LISTADO IS     SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID=COD;     S EMPLOYEES%ROWTYPE; BEGIN  OPEN C_LISTADO;    LOOP       FETCH C_LISTADO INTO S;       EXIT WHEN C_LISTADO%NOTFOUND;       dbms_output.put_line('ID: ' || S.EMPLOYEE_ID);       dbms_output.put_line('NOMBRES: ' || S.FIRST_NAME);       dbms_output.put_line('APELLIDOS: ' || S.LAST_NAME);    END LOOP; CLOSE C_LISTADO; END; END; --PROBANDO PROCEDURE BEGIN P_BUSCAR('100'); END;  

CURSORES IMPLICITOS EN ORACLE

 declare         c1 usuario%rowtype;         begin              select * into c1 from usuario              where usuario='BERTHA';              dbms_output.put_line('User:' || c1.usuario || 'Password:' || c1.contrasena);         end;   declare        c2 paciente%rowtype; begin      select * into c2      from paciente     where paciente='1987002690';     dbms_output.put_line('Paciente:' || c2.nombres); end;         declare         vnombre varchar2(100);         begin              select nombre into vnombre              from medico              where plaza='106481';              dbms_output.put_line('Nombre Medico: ' || vnombre);         end;                 declare         vnombre medico.nombre%type;         begin              select nombre into vnombre              from medico              where plaza='106481';              dbms_output.put_line('Nombre Medico: ' || vnombre);        

Procedimientos en Oracle

CREATE OR REPLACE PROCEDURE USP_INSERT_MARCA(cod IN char, nom IN varchar2, des IN varchar2) IS BEGIN INSERT INTO MARCA(codmarca,nombre,descripcion) VALUES(cod,nom,des); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; END USP_INSERT_MARCA; --ejecutando BEGIN USP_INSERT_MARCA('M05','AKITA','PROCEDENCIA CHINA'); END; CREATE OR REPLACE PROCEDURE USP_UPDATE_MARCA(nom IN varchar2, des IN varchar2, cod IN char) IS Begin UPDATE MARCA SET nombre=nom, descripcion=des WHERE codmarca=cod; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; End USP_UPDATE_MARCA; --ejecutando BEGIN USP_UPDATE_MARCA('ACER','MADE IN CHINA','M04'); END; CREATE OR REPLACE PROCEDURE USP_DELETE_MARCA(cod IN char) IS BEGIN DELETE FROM MARCA WHERE codmarca=cod; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; END; --ejecutando BEGIN USP_DELETE_MARCA('M02'); END; --By Ing. Jhonatan Abal Mejia

CONEXION ACCESS Y VB.NET

CLASE CONEXION ***************** Public Function conectardb() As String         Dim cn As New OleDbConnection         Dim mensaje As String = ""         Try             If cn.State = ConnectionState.Closed Then                 cn.ConnectionString = "ProSvider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\CLINICA.accdb"                 cn.Open()                 mensaje = "Conexion OK BD ACCESS"                 cn.Close()                 cn.Dispose()             End If         Catch ex As Exception             mensaje = ex.Message         End Try         Return mensaje     End Function BOTON CONECTAR ******************   Dim obj As New Conexion         Dim mensaje As String         mensaje = obj.conectardb         Response.Write(mensaje) by. Ing. Jhonatan Abal Mejia

CREATE SEQUENCE ORACLE

--sintaxis del create sequence Create sequence NOMBRESECUENCIA Start with VALORENTERO Increment by VALORENTERO Maxvalue VALORENTERO Minvalue VALORENTERO Cycle | Nocycle;   --CREACION DE TABLE EN ORACLE CREATE TABLE DISTRITO (  IDDISTRITO NUMBER(5),  CODDISTRITO VARCHAR2(5),  NOMBRE VARCHAR2(60),  CONSTRAINT PK_ID_DIST PRIMARY KEY(IDDISTRITO) ); --CREACION DE SECUENCIA EN ORACLE CREATE SEQUENCE SQ_ID_DISTRITO Start with 1 Increment by 1 Minvalue 1 Maxvalue 99999 Nocycle; --PROBANDO SECUENCIA EN ORACLE INSERT INTO DISTRITO(IDDISTRITO,CODDISTRITO,NOMBRE) VALUES(SQ_ID_DISTRITO.NEXTVAL, 'DISJL','SAN JUAN DE LURIGANCHO'); INSERT INTO DISTRITO(IDDISTRITO,CODDISTRITO,NOMBRE) VALUES(SQ_ID_DISTRITO.NEXTVAL, 'DISJM','SAN JUAN DE MIRAFLORES'); INSERT INTO DISTRITO(IDDISTRITO,CODDISTRITO,NOMBRE) VALUES(SQ_ID_DISTRITO.NEXTVAL, 'DIVMT','VILLA MARIA DEL TRIUNFO'); SELECT * FROM DISTRITO; By: Ing. Jhonatan Abal Mejia

GRABAR FOTO VB.NET Y SQL SERVER

Imagen
Creamos la siguiente base de datos y tabla en el MS SQL Server 2012 Diseñamos el siguiente Formulario en una Aplicación WINDOWS de Visual Basic 2010 Consideramos el siguiente Código fuente: ------------------------------------------------------------------------------------------------------------ Imports System.Data Imports System.Data.SqlClient Public Class Form1     Dim cn As New SqlConnection("Server=.; DataBase=DEMO; Integrated Security=true;")     Private Sub btnGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGrabar.Click         Try             Dim cmd As New SqlCommand()             With cmd                 .CommandText = "INSERT INTO EMPLEADOS(NOMBRE, APELLIDO, FECHANACIMIENTO, ESTADOCIVIL, FOTO)VALUES(@NOM,@APE,@FN,@EC,@FOTO)"                 .Parameters.AddWithValue("@NOM", Me.txtnom.Text.Trim)                 .Parameters.AddWithValue("@APE", Me.txtape.Text.Trim)              

TRIGGER ORACLE

--tables CREATE TABLE CLIENTE ( CODCLIENTE NUMBER PRIMARY KEY, RAZONSOCIAL VARCHAR2(50), DIRECCION VARCHAR2(50), RUC CHAR(11) ); INSERT INTO CLIENTE VALUES(1,'Empresa1','Jr. Amazonas #2312','12045236014'); INSERT INTO CLIENTE VALUES(2,'Empresa2','Jr. Amazonas #2313','12045236011'); INSERT INTO CLIENTE VALUES(3,'Empresa3','Jr. Amazonas #2315','12045236023'); INSERT INTO CLIENTE VALUES(4,'Empresa4','Jr. Amazonas #2315','12045236023'); INSERT INTO CLIENTE VALUES(5,'Empresa5','Jr. Amazonas #2316','22045236021'); select * from cliente; CREATE TABLE BITCLIENTE ( CODCLIENTE NUMBER, RUC CHAR(11), FECHA DATE, HORA CHAR(10) ); --trigger CREATE OR REPLACE TRIGGER TR_01 AFTER INSERT ON CLIENTE FOR EACH ROW BEGIN      INSERT INTO BITCLIENTE(CODCLIENTE,RUC,FECHA,HORA)      VALUES(:NEW.codcliente, :NEW.ruc, TO_DATE(SYSDATE,'DD/MM/YY'), TO_CHAR(

Funciones de Cadena ORACLE

--funciones de cadena select upper(ape || ' ' || nom)as nombres from tbemple; select concat(ape || ' ',nom)as nombres from tbemple; SELECT SUBSTR('PEPE PEREZ', 6) FROM DUAL; SELECT SUBSTR('PEPE PEREZ',6,2) FROM DUAL; select initcap('buenas tardes alumno') from dual; select upper(nom) from tbemple; select lower(nom) from tbemple; select initcap(ape) from tbemple; select substr(nom,1,4) from tbemple select concat('Jhonatan',' Abal') from Dual; select chr(65) from dual; select lpad('alumno',8,'wa') from dual select lpad('alumno',4,'xyz') from dual; select trim(' hola a todos ')from dual; select rpad('alumno',11,'xyz') from dual; select rtrim('la casa lila','la') from dual;-- 'la casa li' select rtrim('la casa lila ','la') from dual;-- no borra ningún caracter select rtrim('la casa lila    ') from dual; --'la c

GROUP BY ORACLE

EJEMPLO GROUP BY ******************* select origen, sum(subtotal), sum(descuento), sum(total) from autorizacion group by origen; select paciente, origen, sum(subtotal), sum(descuento), sum(total) from autorizacion where tipo_paciente IN('C','N') group by origen, paciente; select origen, min(total) as minimo_total, max(total) as maximo_total from autorizacion group by origen having origen = 'CE'; select origen, sum(subtotal), sum(descuento), sum(total) from autorizacion group by origen, consultorio having origen='CE' OR origen='EM' order by origen desc; select c.nombre, sum(a.subtotal), sum(a.descuento), sum(a.total) from autorizacion a, consultorio c where  (c.consultorio = a.consultorio) and a.fecha_registro >= to_date('01/03/2013','DD/MM/YYYY') and a.fecha_registro <= to_date('31/03/2013','DD/MM/YYYY') AND a.USUARIO='XXX' group by c.nombre; --by Ing

FUNCIONES EN ORACLE

FUNCIONES EN ORACLE *********************** CREATE OR REPLACE FUNCTION f_sumar(n1 number, n2 number) return number IS rpta number; BEGIN     rpta:=n1+n2;     return (rpta);   END; select f_sumar(52,121) from dual; -------------------------------------------------------------------- CREATE OR REPLACE FUNCTION f_cubos(num number)   return number IS   v_cubo number; BEGIN      return (num*num*num); END; select f_cubos(2) from dual; --------------------------------------------------------------------- CREATE OR REPLACE FUNCTION f_promedio(nt1 number, nt2 number, nt3 number, nt4 number) return number IS BEGIN     return ((nt1+nt2+nt3+nt4)/4);   END; select f_promedio(14,15,13,11) from dual; --------------------------------------------------------------------- CREATE OR REPLACE FUNCTION f_maximo(num1 number, num2 number) return number IS may number; BEGIN     IF (num1>num2) THEN        may:= num1;      ELSE        may:= num2;       END IF;