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 ;
lunes, 12 de agosto de 2013
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'
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
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
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...........
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............
//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.
Suscribirse a:
Entradas (Atom)









