sábado, 6 de diciembre de 2014

Oracle PL/SQL - Create table, Primary key, Foreign key, Insert into, select dos tablas

A continuacion se crean tablas con llave primaria y llaves foraneas y se hacen consultas a dos tablas con select. Tambien ingresar filas con insert into.
-- crear tabla
create table productos
( idProducto varchar2(6) not null,
descripcion varchar2(30) not null,
precio_uni number(6),
stock number(5)
);
-- creacion de primary key
alter table productos add constraint pk_productos primary key (idProducto);
create table factura_detalle
(idFactura varchar2(7) not null,
idProducto varchar2(6) not null,
cantidad number(3),
importe number(7)
);
-- creacion de primary key y foreign key
alter table factura_detalle add constraint pk_factura_detalle primary key (idFactura);
alter table factura_detalle add constraint fk_factura_detalle foreign key (idProducto) references productos (idProducto);
-- Insert into
insert into productos values("PRO100","Celular Samsung Galaxy S4",100,24);
insert into productos values("PRO102","Mouse HP wifi",15,23);
insert into productos values("PRO104","Tinta Epson 200 c",8.5,22);
insert into factura_detalle values("FAC1001","PRO100",2,200);
insert into factura_detalle values("FAC1002","PRO102",2,30);
insert into factura_detalle values("FAC1004","PRO104",3,25.5);
-- Generar un listado de ventas por producto
select p.descripcion, sum(f.cantidad) as Ventas
from factura_detalle as f

inner join productos as p
on p.idproducto=f.idproducto
group by p.nombre

e-mail: minuvasoft10@gmail.com

jueves, 4 de diciembre de 2014

Recorrer Registros de una Tabla Mysql con Java

Basicamente se realiza botones de navegacion como primero, siguiente, anterior, ultimo de una tabla Mysql con Java Netbeans.
Ademas se navega los registros con su respectiva imagen, para este caso de la tabla productos de una base de datos ventas2.sql, el codigo es el siguiente:
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
public class frmProductos extends javax.swing.JFrame {
    coneBD cn=new coneBD();
    public frmProductos() {
        initComponents();
        carga();
       
    }
private void btnSiguienteActionPerformed(java.awt.event.ActionEvent evt) {
        try{
        if (cn.rt.isLast()==false){
        cn.rt.next();
        llenaTxt();
        }
        }catch(Exception e){
            JOptionPane.showMessageDialog(this, e.toString());
        }
    }

    private void btnAnteriorActionPerformed(java.awt.event.ActionEvent evt) {
        try{
            if (cn.rt.isFirst()==false){
                cn.rt.previous();
                llenaTxt();
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null,e.toString());
        }
    }

    private void btnPrimeroActionPerformed(java.awt.event.ActionEvent evt) {
        try{
            cn.rt.first();
            llenaTxt();
        }catch(Exception e){
            JOptionPane.showMessageDialog(this, e.toString());
        }
    }

    private void btnUltimoActionPerformed(java.awt.event.ActionEvent evt) {
        try{
            cn.rt.last();
            llenaTxt();
        }catch(Exception e){
            JOptionPane.showMessageDialog(this, e.toString());
        }
    }
public void carga(){
    String SQL="select * from productos";
    try{
        cn.Conectar();
        cn.st=cn.conec.createStatement();
        cn.rt=cn.st.executeQuery(SQL);
        cn.rt.first();
        llenaTxt();
    }catch(Exception e){
        JOptionPane.showMessageDialog(this, e.toString());
    }
}
public void llenaTxt(){
    try{
    txtId.setText(cn.rt.getString(1));
    txtDes.setText(cn.rt.getString(2));
    txtPrecio.setText(cn.rt.getString(3));
    txtStock.setText(cn.rt.getString(4));
   
    lblImg.setIcon(new ImageIcon(getClass().getResource(cn.rt.getString(5))));
    }catch(Exception e){
        JOptionPane.showMessageDialog(this, e.toString());
    }
}
Clase coneBD.java
import java.sql.*;
import javax.swing.JOptionPane;
public class coneBD {
    public static PreparedStatement prest=null;
    public static CallableStatement cllst=null;
    public static Connection conec=null;
    public static Statement st=null;
    public static ResultSet rt=null;
    public static String usu;
    public static String contra;
    public static String host;
    public static String db;
    public void Conectar(){
        try{
            usu="root"; contra=""; host="localhost"; db="ventas2";
            String url="jdbc:mysql://"+host+"/"+db;
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conec=DriverManager.getConnection(url,usu,contra);
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.toString());
        }
    }
}
Estructura de la tabla productos
en el campo imagen se guarda la direccion de la imagen.
Realizado por Miguel Nunez
Clases de Programacion de Java Netbeans, Mysql, SQL Server, Visual Basic, PHP, JavaScript
E-mail: minuvasoft10@gmail.com 

Poner Imagen en un Control Label de Java

lblImg.setIcon(new ImageIcon(getClass().getResource("imagen.jpg")));
para este caso la imagen tiene que estar en la misma carpeta del programa java.

miércoles, 3 de diciembre de 2014

String Cadenas en JavaScript

Propiedades del Objeto String
length : Retorna el numero de caracteres de la cadena.
Metodos
toUpperCase() : Cambia la cadena a mayusculas.
toLowerCase() : Cambia la cadena a minusculas.
charAt() : Toma un numero indice como parametro y retorna el caracter encontrado en esa posicion.
substring() : Retorna caracteres encontrados entre dos indices.
split() : Retorna un array de cadenas, el cual se ha generado por la separacion del parametro del metodo.
trim() : Elimina espacios en blanco a los extremos.
replace() : Busca y reemplaza una cadena por otra.
Ejemplo
var cad='Home sweet home ';
                                  Resultado
cad.length;     16
cad.toUpperCase();  'HOME SWEET HOME '
cad.toLowerCase();  'home sweet home '
cad.charAt(12);   'o'
cad.substring(8,14);  'et hom'
cad.split(' ');  ['Home','sweet','home','']
cad.trim();  'Home sweet home'
cad.replace('me','w');  'How sweet home '

Programa
<div id='info'></div>
<script>
var cad="Hola mundo cruel";
var msg="<h2>length</h2><p>"+cad.length+"</p>";
msg+="<h2>uppercase</h2><p>"+cad.toUpperCase()+"</p>";
msg+="<h2>lowercase</h2><p>"+cad.toLowerCase()+"</p>";
msg+="<h2>character index: 12</h2><p>"+cad.charAt(12)+"</p>";
msg+="<h2>character index: 8-14</h2><p>"+cad.substring(8,14)+"</p>";
msg+="<h2>replace</h2><p>"+cad.replace('la','w')+"</p>";
var el=document.getElementById('info');
el.innerHTML=msg;
</script>

lunes, 20 de octubre de 2014

Enviar Mensajes de Texto a Celular de Digna



txtDrop.com

Hecho por: Miguel Nunez
Classes of programming PHP, MySql, SQL Server, Java Netbeans by Internet
e-mail: minuvasoft10@gmail.com

jueves, 21 de agosto de 2014

Operaciones con Cadenas clase String en Java

import javax.swing.JOptionPane;
private void btnSumActionPerformed(java.awt.event.ActionEvent evt) {                                    
        String cad;
        cad=txtNom.getText()+txtApe.getText();
        JOptionPane.showMessageDialog(null, "La suma de nombres y apellidos es:"+cad);
    }                                    

    private void btnCompaActionPerformed(java.awt.event.ActionEvent evt) {                                      
        if (txtNom.getText().compareTo(txtApe.getText())==0){
            JOptionPane.showMessageDialog(null, "Las dos cadenas son iguales");
        }else{JOptionPane.showMessageDialog(null, "Las dos cadenas son diferentes");}
    }                                      

    private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt) {                                        
        char c=txtC.getText().charAt(0);
        char op='n';
        String nom=txtNom.getText();
        for(int i=0;i<nom.length();i++){
            if (nom.charAt(i)==c){
                JOptionPane.showMessageDialog(null, "El caracter esta en la posicion: "+i);
                op='s';
            }
        }
        if (op=='n'){JOptionPane.showMessageDialog(null, "El caracter no existe en Nombres");}
    }                                      

    private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {                                      
        System.exit(0);
    }                                      

    private void btnLonActionPerformed(java.awt.event.ActionEvent evt) {                                    
        int l1=txtNom.getText().length();
        int l2=txtApe.getText().length();
        JOptionPane.showMessageDialog(null, "Longitud de Nombres: "+l1+"\n Longitud de Apellidos: "+l2);
    }                                    

    private void btnIzActionPerformed(java.awt.event.ActionEvent evt) {                                    
        String cad=txtNom.getText().substring(0, 3);
        JOptionPane.showMessageDialog(null, cad);
    }                                  

    private void btnRiActionPerformed(java.awt.event.ActionEvent evt) {                                    
        String cad=txtNom.getText().substring(txtNom.getText().length()-3);
        JOptionPane.showMessageDialog(null, cad);
    }

por: minuvasoft10@gmail.com

Clases de Computacion

Generar Numeros Aleatorios Diferentes

public class frmOrdenar extends javax.swing.JFrame {
DefaultListModel modelo=new DefaultListModel();
    public frmOrdenar() {
        initComponents();
        lstN.setModel(modelo);
        genera();
    }
    private void genera(){
        int n;int c=0;
        while(c<10){
            n=(int)(Math.random()*30+1);
            if (!existe(n)){
                modelo.addElement(n);
                c++;
            }
        }
    }
    private boolean existe(int n){
        boolean op=false;
        for(int i=0;i<modelo.getSize();i++){
            if (Integer.parseInt(modelo.getElementAt(i).toString())==n)
            {
                op=true;
                i=modelo.getSize();
            }
        }
        return op;
    }
private void btnOrdenarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        int i,j=0,aux;
        for(i=0;i<modelo.getSize()-1;i++){
            for(j=0;j<modelo.getSize()-i-1;j++){
                if (Integer.parseInt(modelo.getElementAt(j+1).toString()) < Integer.parseInt(modelo.getElementAt(j).toString())){
                    aux=Integer.parseInt(modelo.getElementAt(j+1).toString());
                    modelo.set(j+1,modelo.getElementAt(j));
                    modelo.set(j,aux);
                }
            }
        }
    }                                          

    private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        modelo.addElement(txtN.getText());
    }                                          

    private void btnBorrarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        modelo.clear();
    }                                         

    private void txtNKeyReleased(java.awt.event.KeyEvent evt) {                                 
        if (evt.getKeyCode()==10){modelo.addElement(txtN.getText());}
    }                                

jueves, 24 de julio de 2014

Orden de Compra de Reciclaje en Java

Basicamente se hace uso de Jtable o tablas de un comboBox y un cuadro de texto, se simula compra de reciclaje.
El comboBox tiene por nombre cmbTipo, el grid tblPro, el cuadro de texto txtPeso, las etiquetas txtSub, txtTax y txtTotal, el boton nuevo btnNuevo.
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class frmBotellas extends javax.swing.JFrame {
DefaultTableModel modelo=new DefaultTableModel();
    public frmBotellas() {
        initComponents();
        String titu[]={"Tipo","Peso","$/lb","Importe"};
        modelo.setColumnIdentifiers(titu);
        tblPro.setModel(modelo);
    }
private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        int itipo=cmbTipo.getSelectedIndex();
        String datos[]={"1","2","3","4"};
        switch (itipo){
            case 0:datos[0]="Aluminio";datos[2]="2.01";break;
            case 1:datos[0]="Plastico CRV";datos[2]="1.01";break;
            case 2:datos[0]="Metal";datos[2]="1.5";break;
        }
        datos[1]=txtPeso.getText();
        datos[3]=Float.parseFloat(datos[2])*Float.parseFloat(datos[1])+"";
        modelo.addRow(datos);
        calTota();
    }                                          

    private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {                                         
        cmbTipo.setSelectedIndex(-1);
        txtPeso.setText(null);
        cleanTable();
        txtSub.setText(null);
        txtTax.setText(null);
        txtTotal.setText(null);
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        if (tblPro.getSelectedRow()>-1){
            int i=tblPro.getSelectedRow();
            modelo.removeRow(i);
            calTota();
        }else{JOptionPane.showMessageDialog(null, "Seleccione Fila");}
    }                                        
    private void cleanTable(){
        while (modelo.getRowCount()>0){
        modelo.removeRow(modelo.getRowCount()-1);
        }
    }
    private void calTota(){
        float Sub=0;
        float tax,total;
        if (tblPro.getRowCount()>0){
            for(int i=0;i<tblPro.getRowCount();i++){
                Sub=Sub+Float.parseFloat(modelo.getValueAt(i, 3).toString());
            }
        }
        txtSub.setText(redo(Sub)+"");
        tax=(float) (Sub*0.09);
        txtTax.setText(redo(tax)+"");
        total=Sub+tax;
        txtTotal.setText(redo(total)+"");
    }
    private float redo(float N){
        return (float) (Math.rint(N*100)/100);
    }




miércoles, 16 de julio de 2014

Solucion a un Sistema de Ecuaciones Lineales de 3x3 con Java

Se realiza el siguiente diseño
package editar;
import javax.swing.table.DefaultTableModel;
public class frmEcuaciones extends javax.swing.JFrame {
Double a11,a12,a13,a21,a22,a23,a31,a32,a33;
DefaultTableModel modelo=new DefaultTableModel();
    public frmEcuaciones() {
        initComponents();
        String titu[]={"X","Y","Z","B"};
        modelo.setColumnIdentifiers(titu);
        tblA.setModel(modelo);
        String datos[]={"2","4","-3","12"};
        String datos2[]={"3","-5","2","13"};
        String datos3[]={"-1","3","2","17"};
        modelo.addRow(datos);
        modelo.addRow(datos2);
        modelo.addRow(datos3);
    }
    private Double redo(Double N){
        return (Math.rint(N*100)/100);
    }
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       Double a,ax,ay,az,b1,b2,b3;
        b1=Double.parseDouble(modelo.getValueAt(0, 3).toString());
        b2=Double.parseDouble(modelo.getValueAt(1, 3).toString());
        b3=Double.parseDouble(modelo.getValueAt(2, 3).toString());
        captura();
        a=deter();
        a11=b1;a21=b2;a31=b3;
        ax=deter();
        captura();
        a12=b1;a22=b2; a32=b3;
        ay=deter();
        captura();
        a13=b1;a23=b2;a33=b3;
        az=deter();
        lblX.setText("X="+redo(ax/a)+"");
        lblY.setText("Y="+redo(ay/a)+"");
        lblZ.setText("Z="+redo(az/a)+"");
    }                                        
    private void captura(){
        a11=Double.parseDouble(modelo.getValueAt(0, 0).toString());
        a12=Double.parseDouble(modelo.getValueAt(0, 1).toString());
        a13=Double.parseDouble(modelo.getValueAt(0, 2).toString());
        a21=Double.parseDouble(modelo.getValueAt(1, 0).toString());
        a22=Double.parseDouble(modelo.getValueAt(1, 1).toString());
        a23=Double.parseDouble(modelo.getValueAt(1, 2).toString());
        a31=Double.parseDouble(modelo.getValueAt(2, 0).toString());
        a32=Double.parseDouble(modelo.getValueAt(2, 1).toString());
        a33=Double.parseDouble(modelo.getValueAt(2, 2).toString());
    }
    private Double deter(){
        Double d;
        d=(a11*a22*a33+a12*a23*a31+a13*a21*a32)-(a13*a22*a31+a12*a21*a33+a11*a23*a32);
        return d;
    }
tambien obtiene la solucion con decimales
download code here


lunes, 14 de julio de 2014

Programar Radio Button en Java

Primero agregamos los radio button a un formulario.
Luego agregamos un button group el cual no se ve en el formulario

 Luego seleccionamos el primer radio button y en propiedades en buttongroup escogemos buttonGroup1, igual para el 2 y 3 radiobutton
 Luego agregamos un boton enviar
y codificamos lo siguiente en su evento actionPerformed
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
        if (jRadioButton1.isSelected()){
            JOptionPane.showMessageDialog(null, "Aluminio Seleccionado");
        }
        if (jRadioButton2.isSelected()){JOptionPane.showMessageDialog(null, "Plastico CRV Seleccionado");}
        if (jRadioButton3.isSelected()){JOptionPane.showMessageDialog(null, "Metal Seleccionado");}
    }  

lunes, 30 de junio de 2014

Enviar SMS a Celular con PHPMailer

Primero descargamos la clase PHPMailer desde este enlace download lo descomprimimos y lo guardamos en htdocs para el caso de Xampp y le cambiamos el nombre a PHPMailer, luego creamos dos archivos php en htdocs el primero es el formulario y el segundo envia el mensaje a celular.


Solo funciona para T-mobile pero puede funcionar para cualquier empresa cambiando el dominio, los dominios se encuentran aqui


viernes, 27 de junio de 2014

Conseguir Fecha Actual en SQL Server

Codigo en SQL Server que devuelve la fecha actual.
select GETDATE();
go
 

Procedimientos Almacenados SQL Server

Codigo para mantenimiento de una tabla producto con procedimientos almacenados en SQL Server
create database ventas
go
 
use ventas
go
 
create table producto(
idPro int not null identity(1,1) primary key,
nombre varchar(25) not null,
precio_V decimal(6,2),
precio_C decimal(6,2),
Stock int
)
 
go
 
insert into producto(nombre,precio_V,precio_C,Stock) values('Coca Cola 3 lt',0.89,0.69,100);
insert into producto values('Fanta 3 lt',0.88,0.67,123);
insert into producto values('Sprit 3 lt',0.88,0.67,123);
insert into producto values('Dr. Pepper 3 lt',0.86,0.65,23);
insert into producto values('Pepsi 3 lt',0.85,0.61,123);
go
 
select * from producto
go
 
create procedure mantenimiento2(
@idpro int,
@nom varchar(25),
@pv decimal(6,2),
@pc decimal(6,2),
@stock int,
@opt char)
as
begin
 
if @opt='i'
begin
insert into producto values(@nom,@pv,@pc,@stock);
end
if @opt='a'
begin
update producto set nombre=@nom, precio_V=@pv, precio_C=@pc, Stock=@stock where idPro=@idpro;
end
if @opt='e'
begin
delete from producto where idPro=@idpro;
end
end
go
exec mantenimiento2 4,'Pan Bimbo 20',1.2,0.34,45,'i'
go
 
select * from producto
go
 
exec mantenimiento2 5,'Dr. Pepper 1 lt',0.33,0.22,58,'a'
go
 
create procedure listar
as
begin
 
select * from producto;
end
go
 
listar
 
go
 
exec mantenimiento2 4,'XXXXXXXXX',1.1,0.8,30,'e'

miércoles, 25 de junio de 2014

Convertir a Mayusculas en un Cuadro de Texto Java

El siguiente es para convertir a mayusculas un cuadro de texto en Java Netbeans.
en el cuadro de texto (txtNom) hacer click derecho como muestra la figura:
el codigo va en el evento keyreleased
private void txtNomKeyReleased(java.awt.event.KeyEvent evt) {                                
        txtNom.setText(txtNom.getText().toUpperCase());
    }

por: Miguel Nunez Varillas  ----  e-mail: minuvasoft10@gmail.com
Clases de Java Netbeans MySql Visual Basic HTML PHP

Jalar Datos de JTable a combobox por ejemplo el sexo

El siguiente codigo es para jalar datos de un JTable a un cuadro de texto y un combobox que tiene por opcion M o F.
Despues de seleccionar una fila de la tabla (tblDatos) se hace click en el boton editar y se visualiza los datos en el cuadro de texto y combobox (txtNom y cmbSex).
import javax.swing.table.DefaultTableModel;

public class frmEditar extends javax.swing.JFrame {
DefaultTableModel modelo=new DefaultTableModel();
    public frmEditar() {
        initComponents();
        String titu[]={"Nombre","Sexo"};
        modelo.setColumnIdentifiers(titu);
        tblDatos.setModel(modelo);
        carga();
    }
    private void carga(){
        String dato[]={"Miguel Fico","M"};
        String dato1[]={"Susy Diaz","F"};
        String dato2[]={"Flor Polo","F"};
        String dato3[]={"Pablo Villanueva","M"};
        modelo.addRow(dato);
        modelo.addRow(dato1);
        modelo.addRow(dato2);
        modelo.addRow(dato3);
    }
private void btnEditarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        String sex="";int p;
        if(modelo.getRowCount()>0){
            p=tblDatos.getSelectedRow();
            txtNom.setText(modelo.getValueAt(p, 0).toString());
            sex=modelo.getValueAt(p, 1).toString();
            if(sex.compareTo("M")==0){cmbSex.setSelectedIndex(0);}
            else{cmbSex.setSelectedIndex(1);}
        }
    }      

Buscar por Codigo de Barras en Excel con Java Netbeans

  import java.io.File; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import jxl.Sheet; import jxl.Workbook; pu...