lunes, 12 de agosto de 2013

Consultas en MySql

Algunas consultas en MySql de una base de datos


create database Ejemplo;

use Ejemplo;

create table TodosClientes (
  IdCliente int (4),
  Nombre varchar(25),
  Apellido varchar (25),
  Direccion varchar(40),
  Edad decimal(3),
  Sucursal int (2),
  Saldo decimal (10)
);

create table ClientesAdultos (
  IdCliente int (4),
  Nombre varchar(25),
  Apellido varchar (25),
  Direccion varchar(40),
  Edad decimal(3),
  Sucursal int (2),
  Saldo decimal (10)
);

create table ClientesNiños (
  IdCliente int (4),
  Nombre varchar(25),
  Apellido varchar (25),
  Direccion varchar(40),
  Edad decimal(3),
  Sucursal int (2),
  Saldo decimal (10)
);

create table Sucursales (
    IdSucursal int (2),
    NombreSucursal varchar (15),
    DireccionSucursal varchar (25)
);

insert into TodosClientes values (100,'Pedro','Lopez','Conocido1', 22, 1, 100);
insert into TodosClientes values (101,'Pablo','Castro','Conicido2', 35, 2, 150);
insert into TodosClientes values (102,'Juan','Calderon','Conocido3', 25, 3, 200);

insert into TodosClientes values (105,'Martin','Gonzales','Conocido5', 15, 1, 100);
insert into TodosClientes values (106,'Pepe','Guzman','Conicido6', 13, 2, 250);
insert into TodosClientes values (107,'Oscar','Peña','Conocido7', 16, 3, 300);

insert into Sucursales values (1,'Madero','Blvd. Madero #501');
insert into Sucursales values (2,'Centro','Alvaro Obregon #200 sur');
insert into Sucursales values (3,'Humaya','Blvd. Enrique Cabrera #25');

select * from ClientesAdultos;

select * from ClientesNiños;

select * from TodosClientes;

select * from Sucursales;


-- Procedimiento de almacenado para insertar

CREATE procedure InsertarCliente(IN Id int (4), Nombre varchar(25), IN Apellido varchar(25), IN Direccion varchar (40), IN Edad decimal (3), IN Sucursal int (2), IN Saldo decimal (10))
-- Creamos el insert
INSERT INTO TodosClientes VALUES(IdCliente, Nombre, Apellido, Direccion, Edad, Sucursal, Saldo);
-- Llamada al procedimiento de alamcenado
call InsertarCliente (103,'Jose', 'Perez', 'Conocido4', 31);


-- Procedimiento de almacenado con condicion

delimiter //
create procedure  InsertarClienteCondicion(IN Id int (4), Nombre varchar(25), IN Apellido varchar(25), IN Direccion varchar (40), IN Edad decimal (3), IN Sucursal int (2), IN Saldo decimal (10))
begin
if Edad < 18 then
insert into ClientesNiños values(IdCliente, Nombre, Apellido, Direccion, Edad, Sucursal, Saldo);
else
insert into ClientesAdultos values(IdCliente, Nombre, Apellido, Direccion, Edad, Sucursal, Saldo);
end if;
end;
//
-- Llamada al procedimiento de alamcenado
call InsertarClienteCondicion (104,'Mario', 'Lopez', 'Conocido5', 17);


-- Trigger para insertar clientes y agruparlos

delimiter //
CREATE TRIGGER InsertarClientesTriggers AFTER INSERT ON TodosClientes
FOR EACH ROW
begin
if NEW.Edad < 18 then
INSERT INTO ClientesNiños(IdCliente, Nombre, Apellido, Direccion, Edad, Sucursal, Saldo)
VALUES (NEW.IdCliente, NEW.Nombre, NEW.Apellido, NEW.Direccion, NEW.Edad, NEW.Sucursal, NEW.Saldo);
else
INSERT INTO ClientesAdultos(IdCliente, Nombre, Apellido, Direccion, Edad, Sucursal, Saldo)
VALUES (NEW.IdCliente, NEW.Nombre, NEW.Apellido, NEW.Direccion, NEW.Edad, NEW.Sucursal, NEW.Saldo);
end if;
end;
//
delimiter ;


-- Vistas

CREATE VIEW ClientesSaldos AS
(SELECT IdCliente, Nombre, Saldo FROM TodosClientes);
-- Ver la tabla virtual que se creo en la vista
SELECT * FROM ClientesSaldos;


DELIMITER //
CREATE FUNCTION SumaClientes () RETURNS INT (10)
BEGIN
    RETURN
COUNT (*) as SumaClientes
FROM   TodosClientes

END //
DELIMITER;

delimiter $
CREATE FUNCTION age (date1 DATE, date2 DATE)
RETURNS INT
BEGIN
   DECLARE age INT;
   SET age = (YEAR(date2) - YEAR(date1)) - IF(RIGHT(date2,5) < RIGHT(date1,5),1,0);
   RETURN age;
END$
delimiter ;

Consultas en SqlServer2008

Algunas consultas en SqlServer 2008 de una base de datos.


SELECT * FROM
Alumnos

SELECT * FROM
Maestros

SELECT * FROM
Materias

SELECT * FROM
Kardex

SELECT * FROM
Alumnos WHERE Nombre = 'Pablo Lopez'

SELECT * FROM Alumnos
WHERE Nombre LIKE '%Guzman%';

SELECT * FROM Alumnos
ORDER BY Nombre

SELECT * FROM Alumnos
WHERE Nombre='Jose Guzman'
AND Domicilio = 'Sierra'

SELECT * FROM Alumnos
WHERE Nombre = 'Jose Guzman'
OR Nombre = 'Carlos Perez'

SELECT * FROM Alumnos WHERE
Domicilio = 'Sierra'
AND (Nombre = 'Jose Guzman' OR Nombre = 'Carlos Perez')

SELECT * FROM Alumnos
ORDER BY Nombre DESC

SELECT
    Nombre,
    LEFT (Nombre, 1) AS LetraIzquierda,
    RIGHT (Nombre, 1) AS LetraDerecha,
    LEN (Nombre) AS CantidadLetras,
    'Estimad@' + ' ' + Nombre
FROM Alumnos


SELECT
    LEN (Nombre),
    LEN (' ' + Nombre)
FROM Alumnos

SELECT
    REVERSE (Nombre) AS NombreAlReves
FROM Alumnos

SELECT
    Nombre,
    SUBSTRING (Nombre, 2,5) AS LetrasNombre
FROM Alumnos

SELECT
    Nombre,
    LEFT (Nombre, 1),
    CHARINDEX (' ', Nombre),
    SUBSTRING (Nombre, 2,5)
FROM Alumnos

SELECT
    Nombre,
    LEFT (Nombre, 1) AS InicialNombre,
    SUBSTRING (Nombre, CHARINDEX (' ',Nombre)+1,1) AS InicialApellido
FROM Alumnos

SELECT
    Nombre,
    LEFT (Nombre, 1) +
    SUBSTRING
        (Nombre,
            CHARINDEX
                (' ',Nombre)+1,1)
FROM Alumnos

SELECT
    Nombre ASCII, ASCII (Nombre)
FROM Alumnos

SELECT ASCII ('G')

SELECT * FROM Kardex
WHERE Fecha between '01/05/2012' and '31/05/2012'

select * from Kardex
where MONTH (Fecha) = 12 and YEAR (Fecha) = 2012

SELECT * FROM Alumnos
WHERE EXISTS
 (SELECT * FROM Kardex WHERE NumCuenta = NumCuenta)


 select * from Alumnos
 where not exists
 (select*from Kardex where NumCuenta = NumCuenta)





SELECT *
FROM Kardex
WHERE Tipo IN ('E','S')

SELECT *
FROM Kardex
WHERE Tipo = 'O'

SELECT *
FROM Kardex
WHERE Tipo = 'E'

SELECT *
FROM Kardex
WHERE Tipo = 'S'


--------------------------------------------------------------------------


--Instrucciones DML
        /*
        *SELECT
        *INSERT
        *UPDATE
        *DELETE
        */
       
SELECT * FROM
Alumnos

INSERT INTO Alumnos(NumCuenta,Nombre,Domicilio)
VALUES (111, 'Ramon Lopezz', 'Colinas')

UPDATE Alumnos
SET Nombre = 'Ramon Lopez'
WHERE NumCuenta = '111'

DELETE FROM Alumnos
WHERE NumCuenta = '111'


--------------------------------------------------------------------------


--Funciones de agregacion

SELECT COUNT (*) AS Alumnos
FROM Alumnos

SELECT SUM (NumCuenta) as Suma
FROM   Alumnos

SELECT MIN (NumCuenta) as Minimo
FROM   Alumnos

SELECT MAX (NumCuenta) as Maximo
FROM   Alumnos

SELECT AVG (Calificacion) as Promedio
FROM   Kardex
WHERE NumCuenta = '100'


--------------------------------------------------------------------------


--Instrucciones DCL
    /*
    *GRANT
    *DENY
    *REVOKE
    */

GRANT SELECT,DELETE --Instrucciones para permitir
ON Kardex            --Tablas para permitir
TO EMPL                --Usuario


DENY SELECT, DELETE
ON Kardex
TO EMPL


REVOKE SELECT, DELETE
ON Kardex
TO EMPL

DENY SELECT, DELETE
ON Kardex
TO EMPL
     
--------------------------------------------------------------------------

PRINT 'base de datos'

Operaciones con matrices en C#

Este es un proyecto que estoy realizando de un programa de operaciones con matrices en c#, este programa suma, resta, multiplica y calcula la transpuesta de una matriz. Solo hay un detalle el proyecto aun no lo termino me falta programar la multiplicacion de matrices y la transpuesta pero el programa suma y resta correctamente lo subire para que lo puedan descargar libre, y codigo abierto por si alguien lo necesita o si alguien lo puede terminar para que lo comparta a traves de aqui.



Enlace de descarga por mega

https://mega.co.nz/#!8x01lA6K!HFLoIXm5i4_kH4htgzrRT1zk-HR94vURzJNIBbXvJrI

Buscar si ya existe un numero en una BD C#

Este programa comprueba un numero de identificacion que tu teclees y si existe te manda un msj de que el id ya existe, si no existe te manda otro msj de que no existe y lo puedes registrar.




Enlace de descarga por mega

https://mega.co.nz/#!8lFAWJDA!e_4lGUPi07576kRc_gHy1FU1EYkiCXxodx5E9tb8x1s

sábado, 10 de agosto de 2013

Login simple con timer, con base de datos MySql

Este es un login con timer lo que hace es que al ingresar muestra  un cuadro por 3 segundos de bienvenido: NombreUsuario y despues de los 3 seg. se cierra el cuadro y muestra el menu principal.

Form1

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace LoginSimple
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                string MiConexion = "datasource=localhost;port=3306;username=root;password=12345";
                MySqlConnection MiConn = new MySqlConnection(MiConexion);

                MySqlCommand SelectComand = new MySqlCommand("Select * from ProyectoLink.Usuarios where Usuario='" + this.txtUsuario.Text + "' and Contraseña='" + this.txtContraseña.Text + "' ;", MiConn);

                MySqlDataReader MiReader;
                MiConn.Open();
                MiReader = SelectComand.ExecuteReader();
                int Contador = 0;
                while (MiReader.Read())
                {
                    Contador = Contador + 1;
                }
                if (Contador == 1)
                {
                    Timer timer = new Timer();
                    timer.Interval = 1000;
                    timer.Enabled = true;
                    timer.Tick += new EventHandler(timer1_Tick);
                    MessageBox.Show("Bienvenido:" + txtUsuario.Text);
                    this.Hide();
                    MenuPrincipal Abrir = new MenuPrincipal();
                    Abrir.ShowDialog();
                }
                else
                {
                    Timer timer = new Timer();
                    timer.Interval = 2000;
                    timer.Enabled = true;
                    timer.Tick += new EventHandler(timer1_Tick);
                    MessageBox.Show("Acceso denegado");
                    txtUsuario.Clear();
                    txtContraseña.Clear();
                    txtUsuario.Focus();
                }

            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message);
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            Timer timer = new Timer();
            timer.Enabled = false;
            SendKeys.Send("{ESC}");
        }
    }
}






Si tienen alguna duda no duden en preguntar con toda confianza...........

Como pasar datos de un dataGridVIew a un TextBox en otro form c#

Form 1 (Donde esta el dataGridView)


//Tenemos el evento doble click para que cuando hagamos doble click en una celda la muestre en el textbox en otro form
public void dataGridView1_CellContentDoubleClick(obj… sender, DataGridViewCellEventArgs e)
{
//Form2 es el form que se abrira con la informacion del dataGribView en los textBox
Form2 Form = new Form2();
//Aqui se pone lo que queremos que se vea en los textbox
Form.txtTextBox1.Text = Convert.ToString(this.dataGridView1.Curr…
Form.txtTextBox2.Text = Convert.ToString(this.dataGridView1.Curr…
Form.txtTextBox3.Text = Convert.ToString(this.dataGridView1.Curr…
this.Hide();
Form.ShowDialog();
}

//En el form 2 no se tiene que programar nada basta con tener un form con los TextBox necesarios para pasar la info


Como veran no es mucho codigo y es lo que yo esperaba ya que a mi me gusta programar ahorrando codigo.

Si tienen dudas de como va haganlas saber con toda confianza.

Saludos............

Inicio del blog

Hola amigos este es mi primer blog lo hize con fines educativos en el tema de programacion y programacion de bases de datos, con el tiempo estare publicando turoriales y codigos fuentes de proyectos, y tambien proyecos ya realizados, el blog estara para ayudar a otros usuarios con problemas de programacion.