12/5/10

DESCARGAR EJEMPLOS GRATIS


::::::::::::C# ::::::::::::


ESPESAREMOS A USAR EL LENGUAJE DE PROGRAMACIÓN " C# " DESDE LO MAS BÁSICO, HASTA PODER CREAR PROYECTOS COMPLEJOS






::::: GNU-LINUX-CENTOS :::::



CONOSCAMOS UN SERVIDOR GNU-LINUX-CENTOS DESDE 0 HASTA LA ALTURA DE UN SERVIDOR




DNS EN GNU-LINUX-CENTOS














::::: ENSAMBLAJE DE PCs :::::



















::::: UML :::::






















::::: REDES :::::



























::::: ORACLE 10g :::::


















1/5/10

UML - Diagramas de actividad

ejemplos útiles sobre diagramas UML

con referencia a:

"UML - Diagramas de actividad"
- diagrama de actividades en uml - Buscar con Google (ver en Google Sidewiki)

20/4/10

ENSANBLAJE DE COMPUTADORAS


ENSAMBLAJE DE COMPUTADORES DESDE 0







CONOCIENDO LA BIOS SETUP



BIOS. (Basic Input Output System) Es un conjunto de rutinas y procedimientos elementales que coordinan y manejan los elementos de hardware básico. Por ejemplo, cuando el ordenador arranca, la BIOS contiene un mini programa SETUP
que chequea el hardware, lo inicializa y muestra por pantalla sus características más importantes (cuánta memoria RAM, etc.). La BIOS luego activa un disco para que se inicie el sistema operativo contenido en ese disco; pero si ese disco no está (o falla) se activa otro disco...

























INTRODUCCION




Conocer los elementos Hardware y Software de un computador.

Familiarizarse con el ensamblaje de PC`s.
Identificar los Sistema Operativos y Manejadores de Base De Datos más utilizables en el mercado informático.

Conocer las herramientas para Implementar redes pequeñas.
Conocer la tendencia de las Telecomunicaciones, , mediante la visión del uso de diferentes dispositivos de comunicación donde se integren de manera segura, voz, datos y video.





AKI FALATA EL FLASH



















UN PASEO POR LA MAINBOARD



FLORO DE MA L}MEINBOARD


FOTO



FLASH







CONOZCAMOS AL MICROPROCESADOR



FLORO DE MA MICROPROCESADOR


FOTO



FLASH











TIPOS DE MEMORIAS



FLORO DE MEMORIAS


FOTO



FLAHS











Placa Base "Motherboard" CONOCIENDO A DETALLE (casi)



FLORO DE MA LMEINBOARD


FOTO













DESTRIPANDO UN DISCO DURO(HD)



BREVE DESCRIPCIÓN


FOTO


==================

gigabyte motherboard






Bueno, lo primero daros mi opinión sobre el fabricante.
Como técnico de hardware, os puedo asegurar que las placas gigabyte son sinónimo de estabilidad y de buen funcionamiento. Si algun cliente me pide Asrock, Elitegroup o marcas similares, simplemente le digo que yo eso no se lo vendo. Nunca puedes saber por dónde va a fallar una de esas placas, son una ruleta rusa. Montando otras marcas famosas (como Asus) también les he detectado algun problemilla o "capricho", mucho mas a menudo de lo que me gustaría.
Diariamente vendo placas gigabyte, y esta es la que estoy montando desde hace algunos meses para microATX.

Es una placa muy apropiada para montarse un equipo para oficinas, tanto como para casa.
Lleva, resumiendo:
-------------------------------------------------------------- ---------------------
Ultimo zócalo de AMD, el AM2. Puedes ponerle cualquier procesador AM2, sea económico o sea alto de gama.

Tarjeta gráfica integrada Geforce 6100, sobrada para aplicaciones de ofimática, películas y uso normal. Suficiente para jugar a muchos juegos (en muchos tendrás que bajarle la resolución para conseguir mas velocidad) En definitiva, una tarjetilla muy resultona para venir integrada en la placa.
Si no te gusta, compras una buena gráfica pci express y a volar!
4 canales ddr2 con doble canal (hasta 16 gb con windows 64 bit, 4 con XP)

Audio 8 canales alta definición (puedes meterle un 7.1 sin necesidad de tarjeta de sonido aparte)
red 10/100/1000
firewire
20 usb 2.0

PCI Exprés*1 es el estándar que sustituirá a las PCI.
4 puertos SATA 3 Gb/s (para discos duros SATA)
1 canal IDE (para una grabadora y un lector DVD por ejemplo)
--------------------------------------------------------------- --------------------

Experiencias con esta placa:
nada reseñable, tiene nun buen funcionamiento, no he detectado fallos de serie en ninguna, ni posteriormente he recibido quejas de ningún tipo.
Limitaciones y consejos:

Es microATX, si vas a querer meterle 1000 cosas comprate una ATX que te va a dar mas juego
Si quieres aprovechar un disco duro IDE, recuerda que solo tiene un puerto, por lo que tendrías que poner en el mismo cable el disco duro y la lectora/grabadora de cd/dvd, por lo que da mas juego usar discos serial ata.

La gráfica no es un cañón, pero es decente. Si no manejas aplicaciones con mucha carga gráfica, como juegos potentes o edición de vídeo, te valdrá sin problema.
Y detallitos que me gustan, pues me gusta que traiga un puerto firewire integrado en la parte de atrás, totalmente funcional. En otras placas, si tu caja no tiene conector para firewire lo pierdes.
Y el control automático de velocidad del ventilador de la CPU reduce mucho el ruido, aunque en las placas que están viniendo ya lo traen de serie.

NAda mas, resumiendo, es una buena placa muy apropiada para quie quiera una microatx de calidad y con lo último.
SOY BASTANTE NUEVO EN CIAO, ASI QUE CUALQUIER CRÍTICA SOBRE MI OPINIÓN SERÁ BIEN RECIBIDA, SI ECHAIS EN FALTA ALGUN DATO O ALGUNA EXPLICACIÓN DECIDMELO ASI PODRÉ HACERLO MEJOR EN FUTURAS OPINIONES. GRACIAS Y UN SALUDO!



================================.==============================================


Estoy muy conforme con este motherboard Gigabyte, anda muy bien, una estabilidad excelente, y con muy buena velocidad.
Tiene socket AM2 asique servirá para futuras actualizaciones de procesador. Lo mismo con los 4 zócalos de memoria DDR2 que soporta hasta las de 800mhz, y zócalo PCI-Express 16x.

El sonido onboard es realmente muy bueno, el mejor sonido integrado que he escuchado hasta el momento.
La Geforce 6100 onboard cumple muy bien su función, sirve perfectamente para ver videos y jugar a muchísimos juegos, a los más nuevos hay que bajarle la resolución, pero estamos hablando de una placa integrada que soporta juegos modernos, tampoco vamos a pretender jugarlos a alta resolución y con detalles al máximo, si necesitamos más velocidad tenemos el slot PCI-E 16x para agregarle otra tarjeta gráfica más potente.

Tiene varios puertos USB 2.0 que funcionan muy rápidamente, la placa de red de 1 gigabit integrada anda muy bien, y el puerto firewire no lo he probado.
La computadora la armé yo, y fue muy fácil y rápido hacerlo con este motherboard.

Lo único que no me gustó es que tenga un solo canal IDE, con lo cual solo se le pueden poner 2 unidades, yo estoy usando mi disco IDE de la anterior computadora, y he tenido que ponerlo compartiendo el mismo cable con la grabadora de DVD y eso no es lo recomendable, pero tiene 4 puertos Serial ATA II, asique más adelante le pondré un disco rígido SATA y problema resuelto.
En resumen, es un motherboard muy recomendable.


================================.==============================================
ESPECIFICACIONES

-----------------------------------------------------------------
GA-M61PM-S2 (rev. 1.0)
GeForce 6100 / nForce 430 / Socket AM2
Otras revisiones: 2.0

* Supports AMD Athlon/ Sempron
* Integra NVIDIA CineFX 3.0 Graphics Engine
* Soporta memoria Dual Channel DDR2 800
* Integrated NVIDIA SATA 3Gb/s with RAID function
* Optimized Gigabit LAN and IEEE 1394 connection
* Enhances security with NVIDIA® TCP/IP Acceleration technology
* Incorpora 8 canales para Audio de Alta Definición
* Supports Microsoft® Windows Vista™ Premium
* Cumple con las normativas RoHS para una informática respetable con la naturaleza



Especificaciones
Procesador

* Socket AM2 AMD Athlon™ 64 FX / Athlon™ 64 X2 Dual-Core / Athlon™ 64 / Sempron™

Chipset

* NVIDIA® GeForce 6100 / nForce 430
* Super I/O: ITE IT8716
* Realtek RTL8211 Gigabit Ethernet controller
* TI IEEE 1394
* Realtek ALC883 8-channel audio codec

Memoria

* 4 zócalos DDR2 DIMM (soportan hasta 16GB de memoria)(Nota 1)
* Soporta 1.8V DDR2 DIMMs
* Soporta dual channel DDR2 800/667/533/400 DIMMs

Para más información sobre las memorias soportadas, vaya a "memorias soportadas".
Conectores Internos E/S

* 1 x conector de alimentación ATX de 24-pin
* 1 x conector de alimentación ATX 12V de 4-pin
* 1 x CD in
* 1 x COM B
* 1 x conector para el ventilador de la CPU
* 1 x floppy disk drive connector
* 1 x conector para el audio frontal
* 1 x conector para el panel frontal
* 1 x IDE
* 1 x conector Power LED
* 1 x SPDIF in/out
* 1 x conector para el ventilador del sistema
* 2 x conectores IEEE 1394a para 2 puertos adicionales por cable
* 3 x USB 2.0/1.1 (soporta 6 puertos)
* 4 x SATA II 3Gb/s

Zócalos de Expansión

* 1 x PCI Express x1
* 1 x PCI Express x16
* 2 x PCI

Panel E/S Trasero

* 1 x COM A
* 1 x IEEE 1394
* 1 x LPT
* 1 x RJ45 LAN
* 1 x VGA
* 4 x USB 2.0/1.1
* 6 x jacks de audio (Line In / Line Out / MIC In / Surround (Traseros) / Central/Subwoofer / Laterales)
* PS/2 Teclado/Ratón

Monitorización Hardware

* CPU fan failure warning
* Detección de la velocidad del ventilador de CPU/Sistema
* Detección de la temperatura de CPU/Sistema
* CPU/System warning temperature
* Supports CPU Smart Fan function
* Detección del voltaje del sistema

BIOS

* 4 Mbit flash ROM
* Uso de licencias AWARD BIOS

Otras Características

* @BIOS™
* Download Center
* Q-Flash™
* Soporta EasyTune (solo soporta la función Hardware Monitor)(Nota 3)
* Xpress™ Install
* Soporta Xpress BIOS Rescue
* Xpress™ Recovery 2

Observaciones

* Debido a diferentes condiciones de soporte para Linux proporcinadas por los fabricantes de chipsets, por favor descargue los drivers para Linux del sitio web del fabricante o de una web de terceras partes.
* Este producto no soporta Win9X/ME, debido a que la mayoría de fabricantes de hardware/software no ofrecen soportepara Win9X/ME. Sin embargo nosotros seguimos ofreciendo drivers relacionados para poder servir a nuestros clientes.



---------------------------------------------------------------------
GA-M61PM-S2 (rev. 2.0)
Bookmark and Share Help
other version : rev. 1.0
NVIDIA® GeForce 6100 / nForce 430

1. Plataforma para procesadores AMD Athlon/ Sempron
2. Memoria de alto rendimiento Dual Channel DDR2 800
3. Motor Gráfico NVIDIA CineFX 3.0 Integrado
4. Soporte NVIDIA SATA 3Gb/s y función RAID
5. Conexión LAN y IEEE394 Gigabit optimizadas
6. mayor seguridad con la aceleración TCP/IP de NVIDIA
7. Audio de alta definición con 8 canales
8. Compatible con RoHS
9. Soporte para Windows Vista Premium

276 000

fuente www

DESARROLLO DE UN PROYECTO EN UML

DESARROLLANDO UN PROYECTO EN UML USANDO RATIONAL ROSE

EJEMPLOS DE CONFIGURACION DE ROUTERS CISCO

CONFIGURACIÓN DE CISCO

15/4/10

GNU-LINUX-CENTOS.5















un click en las imagenes te redireccionara al respectivo curso


preferentemente abrir en otra pestaña





385 cat > informe1
386 cat > informe2
387 mkdir /centos4
388 tar -cvf backup1.tar informe1 informe2
389 tar -tvf backup1.tar
390 cd /centos4
391 cat > ejemplo1
392 cd
393 tar -cvf backup2.tar /centos4 informe1
394 ls
395 backup2.tar /home
396 cp backup2.tar /home
397 cd home
398 cd /home
399 ls
400 tar -xvf backup.tar
401 tar -xvf backup2.tar
402 ls
403 ls
404 cat > informe2
405 ls
406 gzip informe1
407 ls
408 zcat informe1.gz
409 gzip -d informe1.gz
410 ls
411 bzip2 informe2
412 ls
413 bz2 -d informe2
414 bzp2 -d informe2
415 bzip2 -d informe2
416 bzip2 informe2
417 bzip2 informe2.bz2
418 bzip2 -d informe2.bz2
419 ls
420 cd
421 gzip backup1.tar
422 ls
423 gzip2 backup2.tar
424 bzip2 backup2.tar
425 cp backup1.tar gz /centos4
426 cp backup1.tar.gz /centos4
427 cd /centos4
428 tar -zxvf backup1.tar.gz
429 cd
430 cp backup2.tar.bz2 /home
431 cd /home
432 ls
433 tar -jxvf backup2.tar.bz2
434 tar -czvf backup3.tgz informe1 informe2
435 tar -czvf backup3.tgz informe1 informe2
436 cd
437 history > tartall
438 cd /media
439 ls
440 cp tartall /media/ELACH-NAMM
441 cp tartall media/ELACH-NAMM
442 cd
443 cp tartall media/ELACH-NAMM
444 cp tartall /media/ELACH-NAMM
445 cd /media
446 ls
447 cd /ELACH-NAMM
448 cd /media/ELACH-NAMM
449 LS

































PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP



1/4/10

ORACLE 10G


CREACIÓN DE UN PROCEDIMIENTO ALMACENADO PARA INSERCIÓN AUTO GENERANDO EL CÓDIGO E INCREMENTAN-DOLO




-- CREACION DE UN CURSOR PARA UTILIZARLO EN NUESTRO PROCEDIMIENTO
create or replace package types
as
type typecursor is ref cursor;
end;





-- CREACION DE UN PROCEDURE QUE INSERTA REGISTROS + EL CODIGO AUTOGENERADO E INCREMENTADO
create or replace procedure spgenera( -- CREANDO EL PROCEDURE
nomp in articulos.art_nom%type, --VARIABLES K COINCIDEN CON LA TABLA
uni in articulos.art_uni%type, -- SE PONE (%TYPE) PARA YA NO DECLARAR DE QUE TIPO ES, SINO QUE DECIMOS K ES DEL TIPO DE REGISTRO DE LA TABLA
puni in articulos.art_pre%type,
stk in articulos.art_stk%type,
pcursor out types.typecursor) -- ESETE ES EL CURSOR
as
cod char(5); --VARIABLE LOCAL PARA CONCATENAR EL NUEVO CODIGO
nro int; -- PARA INCREMENTAR EL NUMERO
begin
select nvl(max(art_cod),'00000') into cod from articulos;-- (NVL) PARA VALIDAR QUE NO SEA NULO Y LO GUARDAMOS EN LA VARIABLE cod Y SI ESTUVIERA NULO SEPONE 0000
nro:= substr(cod,2,4)+1; -- DEL ULTIMO CODIGO EXTRAEMOS LOS NUMEROS
cod:='A' ||trim(to_char(nro,'0000')); -- CONCATENAR LA CADENA K ES X DEFAULT (A) + EL NUMERO YA INCREMENTADO
insert into articulos values(cod,nomp,uni,puni,stk);--INSERTANDO LA DATA
commit; -- EJECIUTA LA TRANSACCION
open pcursor for--ABRIMOS EL CURSOR PARA LEER EL CODIGO INCREMENTADO EN CASO K SE KICIERA IMPRIMIRLO
select max(art_cod) from articulos; -- IMPRIMIENDO EL CODIGO DEL NUEVO REGISTRO QUE SE ACABA DE INSERTAR
end; -- FINALIZANDO EL PROCEDURE

SELECT art_cod FROM articulos -- A0011

22/3/10

DOCUMENTOS

DIAGRAMA DE LA BD NORTHWIND SQL



DIAGRAMA DE LA BD NORTHWIND




en español






scrip de la creacion de la BD NORTHWIND


==========================

==========================



/*
** Copyright Microsoft, Inc. 1994 - 2000
** All Rights Reserved.
*/

SET NOCOUNT ON
GO

USE master
GO
if exists (select * from sysdatabases where name='Northwind')
drop database Northwind
go

DECLARE @device_directory NVARCHAR(520)
SELECT @device_directory = SUBSTRING(filename, 1, CHARINDEX(N'master.mdf', LOWER(filename)) - 1)
FROM master.dbo.sysaltfiles WHERE dbid = 1 AND fileid = 1

EXECUTE (N'CREATE DATABASE Northwind
ON PRIMARY (NAME = N''Northwind'', FILENAME = N''' + @device_directory + N'northwnd.mdf'')
LOG ON (NAME = N''Northwind_log'', FILENAME = N''' + @device_directory + N'northwnd.ldf'')')
go

exec sp_dboption 'Northwind','trunc. log on chkpt.','true'
exec sp_dboption 'Northwind','select into/bulkcopy','true'
GO

set quoted_identifier on
GO

/* Set DATEFORMAT so that the date strings are interpreted correctly regardless of
the default DATEFORMAT on the server.
*/
SET DATEFORMAT mdy
GO
use "Northwind"
go
if exists (select * from sysobjects where id = object_id('dbo.Employee Sales by Country') and sysstat & 0xf = 4)
drop procedure "dbo"."Employee Sales by Country"
GO
if exists (select * from sysobjects where id = object_id('dbo.Sales by Year') and sysstat & 0xf = 4)
drop procedure "dbo"."Sales by Year"
GO
if exists (select * from sysobjects where id = object_id('dbo.Ten Most Expensive Products') and sysstat & 0xf = 4)
drop procedure "dbo"."Ten Most Expensive Products"
GO
if exists (select * from sysobjects where id = object_id('dbo.Category Sales for 1997') and sysstat & 0xf = 2)
drop view "dbo"."Category Sales for 1997"
GO
if exists (select * from sysobjects where id = object_id('dbo.Sales by Category') and sysstat & 0xf = 2)
drop view "dbo"."Sales by Category"
GO
if exists (select * from sysobjects where id = object_id('dbo.Sales Totals by Amount') and sysstat & 0xf = 2)
drop view "dbo"."Sales Totals by Amount"
GO
if exists (select * from sysobjects where id = object_id('dbo.Summary of Sales by Quarter') and sysstat & 0xf = 2)
drop view "dbo"."Summary of Sales by Quarter"
GO
if exists (select * from sysobjects where id = object_id('dbo.Summary of Sales by Year') and sysstat & 0xf = 2)
drop view "dbo"."Summary of Sales by Year"
GO
if exists (select * from sysobjects where id = object_id('dbo.Invoices') and sysstat & 0xf = 2)
drop view "dbo"."Invoices"
GO
if exists (select * from sysobjects where id = object_id('dbo.Order Details Extended') and sysstat & 0xf = 2)
drop view "dbo"."Order Details Extended"
GO
if exists (select * from sysobjects where id = object_id('dbo.Order Subtotals') and sysstat & 0xf = 2)
drop view "dbo"."Order Subtotals"
GO
if exists (select * from sysobjects where id = object_id('dbo.Product Sales for 1997') and sysstat & 0xf = 2)
drop view "dbo"."Product Sales for 1997"
GO
if exists (select * from sysobjects where id = object_id('dbo.Alphabetical list of products') and sysstat & 0xf = 2)
drop view "dbo"."Alphabetical list of products"
GO
if exists (select * from sysobjects where id = object_id('dbo.Current Product List') and sysstat & 0xf = 2)
drop view "dbo"."Current Product List"
GO
if exists (select * from sysobjects where id = object_id('dbo.Orders Qry') and sysstat & 0xf = 2)
drop view "dbo"."Orders Qry"
GO
if exists (select * from sysobjects where id = object_id('dbo.Products Above Average Price') and sysstat & 0xf = 2)
drop view "dbo"."Products Above Average Price"
GO
if exists (select * from sysobjects where id = object_id('dbo.Products by Category') and sysstat & 0xf = 2)
drop view "dbo"."Products by Category"
GO
if exists (select * from sysobjects where id = object_id('dbo.Quarterly Orders') and sysstat & 0xf = 2)
drop view "dbo"."Quarterly Orders"
GO
if exists (select * from sysobjects where id = object_id('dbo.Customer and Suppliers by City') and sysstat & 0xf = 2)
drop view "dbo"."Customer and Suppliers by City"
GO
if exists (select * from sysobjects where id = object_id('dbo.Order Details') and sysstat & 0xf = 3)
drop table "dbo"."Order Details"
GO
if exists (select * from sysobjects where id = object_id('dbo.Orders') and sysstat & 0xf = 3)
drop table "dbo"."Orders"
GO
if exists (select * from sysobjects where id = object_id('dbo.Products') and sysstat & 0xf = 3)
drop table "dbo"."Products"
GO
if exists (select * from sysobjects where id = object_id('dbo.Categories') and sysstat & 0xf = 3)
drop table "dbo"."Categories"
GO
if exists (select * from sysobjects where id = object_id('dbo.Customers') and sysstat & 0xf = 3)
drop table "dbo"."Customers"
GO
if exists (select * from sysobjects where id = object_id('dbo.Shippers') and sysstat & 0xf = 3)
drop table "dbo"."Shippers"
GO
if exists (select * from sysobjects where id = object_id('dbo.Suppliers') and sysstat & 0xf = 3)
drop table "dbo"."Suppliers"
GO
if exists (select * from sysobjects where id = object_id('dbo.Employees') and sysstat & 0xf = 3)
drop table "dbo"."Employees"
GO
CREATE TABLE "Employees" (
"EmployeeID" "int" IDENTITY (1, 1) NOT NULL ,
"LastName" nvarchar (20) NOT NULL ,
"FirstName" nvarchar (10) NOT NULL ,
"Title" nvarchar (30) NULL ,
"TitleOfCourtesy" nvarchar (25) NULL ,
"BirthDate" "datetime" NULL ,
"HireDate" "datetime" NULL ,
"Address" nvarchar (60) NULL ,
"City" nvarchar (15) NULL ,
"Region" nvarchar (15) NULL ,
"PostalCode" nvarchar (10) NULL ,
"Country" nvarchar (15) NULL ,
"HomePhone" nvarchar (24) NULL ,
"Extension" nvarchar (4) NULL ,
"Photo" "image" NULL ,
"Notes" "ntext" NULL ,
"ReportsTo" "int" NULL ,
"PhotoPath" nvarchar (255) NULL ,
CONSTRAINT "PK_Employees" PRIMARY KEY CLUSTERED
(
"EmployeeID"
),
CONSTRAINT "FK_Employees_Employees" FOREIGN KEY
(
"ReportsTo"
) REFERENCES "dbo"."Employees" (
"EmployeeID"
),
CONSTRAINT "CK_Birthdate" CHECK (BirthDate <>= 0),
CONSTRAINT "CK_ReorderLevel" CHECK (ReorderLevel >= 0),
CONSTRAINT "CK_UnitsInStock" CHECK (UnitsInStock >= 0),
CONSTRAINT "CK_UnitsOnOrder" CHECK (UnitsOnOrder >= 0)
)
GO
CREATE INDEX "CategoriesProducts" ON "dbo"."Products"("CategoryID")
GO
CREATE INDEX "CategoryID" ON "dbo"."Products"("CategoryID")
GO
CREATE INDEX "ProductName" ON "dbo"."Products"("ProductName")
GO
CREATE INDEX "SupplierID" ON "dbo"."Products"("SupplierID")
GO
CREATE INDEX "SuppliersProducts" ON "dbo"."Products"("SupplierID")
GO

CREATE TABLE "Order Details" (
"OrderID" "int" NOT NULL ,
"ProductID" "int" NOT NULL ,
"UnitPrice" "money" NOT NULL CONSTRAINT "DF_Order_Details_UnitPrice" DEFAULT (0),
"Quantity" "smallint" NOT NULL CONSTRAINT "DF_Order_Details_Quantity" DEFAULT (1),
"Discount" "real" NOT NULL CONSTRAINT "DF_Order_Details_Discount" DEFAULT (0),
CONSTRAINT "PK_Order_Details" PRIMARY KEY CLUSTERED
(
"OrderID",
"ProductID"
),
CONSTRAINT "FK_Order_Details_Orders" FOREIGN KEY
(
"OrderID"
) REFERENCES "dbo"."Orders" (
"OrderID"
),
CONSTRAINT "FK_Order_Details_Products" FOREIGN KEY
(
"ProductID"
) REFERENCES "dbo"."Products" (
"ProductID"
),
CONSTRAINT "CK_Discount" CHECK (Discount >= 0 and (Discount <= 1)), CONSTRAINT "CK_Quantity" CHECK (Quantity > 0),
CONSTRAINT "CK_UnitPrice" CHECK (UnitPrice >= 0)
)
GO
CREATE INDEX "OrderID" ON "dbo"."Order Details"("OrderID")
GO
CREATE INDEX "OrdersOrder_Details" ON "dbo"."Order Details"("OrderID")
GO
CREATE INDEX "ProductID" ON "dbo"."Order Details"("ProductID")
GO
CREATE INDEX "ProductsOrder_Details" ON "dbo"."Order Details"("ProductID")
GO

create view "Customer and Suppliers by City" AS
SELECT City, CompanyName, ContactName, 'Customers' AS Relationship
FROM Customers
UNION SELECT City, CompanyName, ContactName, 'Suppliers'
FROM Suppliers
--ORDER BY City, CompanyName
GO

create view "Alphabetical list of products" AS
SELECT Products.*, Categories.CategoryName
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE (((Products.Discontinued)=0))
GO

create view "Current Product List" AS
SELECT Product_List.ProductID, Product_List.ProductName
FROM Products AS Product_List
WHERE (((Product_List.Discontinued)=0))
--ORDER BY Product_List.ProductName
GO

create view "Orders Qry" AS
SELECT Orders.OrderID, Orders.CustomerID, Orders.EmployeeID, Orders.OrderDate, Orders.RequiredDate,
Orders.ShippedDate, Orders.ShipVia, Orders.Freight, Orders.ShipName, Orders.ShipAddress, Orders.ShipCity,
Orders.ShipRegion, Orders.ShipPostalCode, Orders.ShipCountry,
Customers.CompanyName, Customers.Address, Customers.City, Customers.Region, Customers.PostalCode, Customers.Country
FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID
GO

create view "Products Above Average Price" AS
SELECT Products.ProductName, Products.UnitPrice
FROM Products
WHERE Products.UnitPrice>(SELECT AVG(UnitPrice) From Products)
--ORDER BY Products.UnitPrice DESC
GO

create view "Products by Category" AS
SELECT Categories.CategoryName, Products.ProductName, Products.QuantityPerUnit, Products.UnitsInStock, Products.Discontinued
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE Products.Discontinued <> 1
--ORDER BY Categories.CategoryName, Products.ProductName
GO

create view "Quarterly Orders" AS
SELECT DISTINCT Customers.CustomerID, Customers.CompanyName, Customers.City, Customers.Country
FROM Customers RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
WHERE Orders.OrderDate BETWEEN '19970101' And '19971231'
GO

create view Invoices AS
SELECT Orders.ShipName, Orders.ShipAddress, Orders.ShipCity, Orders.ShipRegion, Orders.ShipPostalCode,
Orders.ShipCountry, Orders.CustomerID, Customers.CompanyName AS CustomerName, Customers.Address, Customers.City,
Customers.Region, Customers.PostalCode, Customers.Country,
(FirstName + ' ' + LastName) AS Salesperson,
Orders.OrderID, Orders.OrderDate, Orders.RequiredDate, Orders.ShippedDate, Shippers.CompanyName As ShipperName,
"Order Details".ProductID, Products.ProductName, "Order Details".UnitPrice, "Order Details".Quantity,
"Order Details".Discount,
(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ExtendedPrice, Orders.Freight
FROM Shippers INNER JOIN
(Products INNER JOIN
(
(Employees INNER JOIN
(Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID)
ON Employees.EmployeeID = Orders.EmployeeID)
INNER JOIN "Order Details" ON Orders.OrderID = "Order Details".OrderID)
ON Products.ProductID = "Order Details".ProductID)
ON Shippers.ShipperID = Orders.ShipVia
GO

create view "Order Details Extended" AS
SELECT "Order Details".OrderID, "Order Details".ProductID, Products.ProductName,
"Order Details".UnitPrice, "Order Details".Quantity, "Order Details".Discount,
(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ExtendedPrice
FROM Products INNER JOIN "Order Details" ON Products.ProductID = "Order Details".ProductID
--ORDER BY "Order Details".OrderID
GO

create view "Order Subtotals" AS
SELECT "Order Details".OrderID, Sum(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS Subtotal
FROM "Order Details"
GROUP BY "Order Details".OrderID
GO

create view "Product Sales for 1997" AS
SELECT Categories.CategoryName, Products.ProductName,
Sum(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ProductSales
FROM (Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID)
INNER JOIN (Orders
INNER JOIN "Order Details" ON Orders.OrderID = "Order Details".OrderID)
ON Products.ProductID = "Order Details".ProductID
WHERE (((Orders.ShippedDate) Between '19970101' And '19971231'))
GROUP BY Categories.CategoryName, Products.ProductName
GO

create view "Category Sales for 1997" AS
SELECT "Product Sales for 1997".CategoryName, Sum("Product Sales for 1997".ProductSales) AS CategorySales
FROM "Product Sales for 1997"
GROUP BY "Product Sales for 1997".CategoryName
GO

create view "Sales by Category" AS
SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName,
Sum("Order Details Extended".ExtendedPrice) AS ProductSales
FROM Categories INNER JOIN
(Products INNER JOIN
(Orders INNER JOIN "Order Details Extended" ON Orders.OrderID = "Order Details Extended".OrderID)
ON Products.ProductID = "Order Details Extended".ProductID)
ON Categories.CategoryID = Products.CategoryID
WHERE Orders.OrderDate BETWEEN '19970101' And '19971231'
GROUP BY Categories.CategoryID, Categories.CategoryName, Products.ProductName
--ORDER BY Products.ProductName
GO

create view "Sales Totals by Amount" AS
SELECT "Order Subtotals".Subtotal AS SaleAmount, Orders.OrderID, Customers.CompanyName, Orders.ShippedDate
FROM Customers INNER JOIN
(Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID)
ON Customers.CustomerID = Orders.CustomerID
WHERE ("Order Subtotals".Subtotal >2500) AND (Orders.ShippedDate BETWEEN '19970101' And '19971231')
GO

create view "Summary of Sales by Quarter" AS
SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal
FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID
WHERE Orders.ShippedDate IS NOT NULL
--ORDER BY Orders.ShippedDate
GO

create view "Summary of Sales by Year" AS
SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal
FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID
WHERE Orders.ShippedDate IS NOT NULL
--ORDER BY Orders.ShippedDate
GO

create procedure "Ten Most Expensive Products" AS
SET ROWCOUNT 10
SELECT Products.ProductName AS TenMostExpensiveProducts, Products.UnitPrice
FROM Products
ORDER BY Products.UnitPrice DESC
GO

create procedure "Employee Sales by Country"
@Beginning_Date DateTime, @Ending_Date DateTime AS
SELECT Employees.Country, Employees.LastName, Employees.FirstName, Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal AS SaleAmount
FROM Employees INNER JOIN
(Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID)
ON Employees.EmployeeID = Orders.EmployeeID
WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date
GO

create procedure "Sales by Year"
@Beginning_Date DateTime, @Ending_Date DateTime AS
SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal, DATENAME(yy,ShippedDate) AS Year
FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID
WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date
GO

set quoted_identifier on
go
set identity_insert "Categories" on
go
ALTER TABLE "Categories" NOCHECK CONSTRAINT ALL
go




DESCARGAR LA BASE DE DATOS



=============================

  1. descargar script de la creacion de la bd
  2. insertar data a las tablas
  3. insertar data a la tabla categorias
  4. la base de datos netptuno lo pongo luegito
=============================


1/1/10

CONSULTA DE PEDIDOS X RANGO DE FECHAS

TENIENDO COMO PROVEEDOR DE BD A SQL , USAREMOS PROCEDIMIENTOS ALMACENADO EN "N CAPAS"











App.config:::: para la coneccion a la bd


< ?xml version="1.0" encoding="utf-8" ?>
<>
<>
< name="conecta" connectionstring="INTEGRATED SECURITY=TRUE;DATABASE=nombrebd;SERVER=nombredelservidor">
< /connectionStrings>
< /configuration>





CODIGO EL LA CLASE NEGOCIO


using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace capa_negocio
{
public class reglas_de_negocio
{
static SqlCommand cmd;
static SqlConnection conex;
public static void Conecta()
{
conex = new SqlConnection(ConfigurationManager.ConnectionStrings["conecta"].ConnectionString);
conex.Open();
}

public static DataTable Runsql(string nompro, params Object[] lista)
{
Conecta();
cmd = new SqlCommand(nompro, conex);
cmd.CommandType = CommandType.StoredProcedure;

SqlCommandBuilder.DeriveParameters(cmd);
int cuenta = 0;

foreach (SqlParameter prm in cmd.Parameters)
{
if (prm.ParameterName != "@RETURN_VALUE")
{
prm.Value = lista[cuenta];
cuenta++;
}
}

SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
conex.Close();
return dt;
}

}
}



CODIGO EN EL FORMULARIO

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

namespace Presentacion
{

public partial class facturasxfechas : Form

{
public facturasxfechas()
{
InitializeComponent();
}

private void btn_consulta_Click(object sender, EventArgs e)
{
DataTable dt=capa_negocio.reglas_de_negocio.Runsql("spfacxfech", f1.Text, f2.Text);
gw_facturas.DataSource = capa_negocio.reglas_de_negocio.Runsql("spfacxfech", f1.Text, f2.Text);
lbl_total.Text = Convert.ToString(dt.Compute("sum(total)", ""));
}

private void gw_facturas_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}

private void gw_facturas_Click(object sender, EventArgs e)
{
int fila = this.gw_facturas.CurrentCell.RowIndex;

string numfac = gw_facturas[0, fila].Value.ToString();

DataTable dt = capa_negocio.reglas_de_negocio.Runsql("sp_empleadoxfac", numfac);
for (int i = 0;i< text ="">

CÓDIGO SQL PARA LOS PROCEDIMIENTOS




use VENTAS
go
set dateformat dmy
go

alter proc spfacxfech
@fe1 datetime,
@fe2 datetime
as
select num_fact, sub_total , igv , total , fecha
from dbo.Facturas
where fecha BETWEEN @fe1 and @fe2
go
exec spfacxfech '20/02/1996','08/04/1996'
go

alter proc sp_empleadoxfac
@numfac int
as
select nombre from Empleado e ,Facturas f
where e.cod_emp=f.cod_emp and num_fact=@numfac
go
sp_empleadoxfac 000015
go




DESCARGAR EL PROYECTO aki
Si les a servido de algo el archivo o el código

no se olviden de pasar y agradecer