Saturday, April 28, 2012

Desarrollo ASP.NET y herramientas De desarrollo


ASP.NET es un Framework gratuito de Microsoft para crear aplicaciones Web que trabaja con las normas basadas en HTML, CSS y JavaScript, entre otros.

Hay tres maneras de desarrollar con ASP.NET.

1. Web Forms.
ASP.NET Web Forms permite un modelo de desarrollo familiar que posibilita volver a utilizar los controles y sin esfuerzo incorporar datos en su sitio web, haciendo de su trabajo reutilizable y más productivo.

2. ASP.NET MVC. 
Es un enfoque poderoso que proporciona una separación clara de las capas de sus aplicaciones web y permite el control total sobre HTML para disfrutar un desarrollo ágil.

3. Web Pages.
Las ASP.NET Web Pages proporcionan una manera fácil de conexión a base de datos o añadir contenido de redes sociales con server code dinámico mezclado con HTML usando la nueva y liviana sintaxis RAZOR.

Microsoft proporciona un conjunto de herramientas de desarrollo Web optimizada para los diversos usuarios y experiencias a diseñar, construir, probar e implementar.

1. Expression Web.
Está optimizado para los diseñadores web que se centran en HTML, CSS y en las imágenes para diseñar, desarrollar y validar las experiencias Web contras múltiples Browsers.

2. Visual Studio.
Es un poderoso entorno de desarrollo optimizado para los profesionales que demandan la máxima flexibilidad y riqueza en la arquitectura de nuevas aplicaciones Web para la empresa o del mercado de Internet.

3. Web Matrix.
Ofrece una manera sencilla para los desarrolladores Web, para crear, personalizar e implementar sitios con aplicaciones de Open Source o páginas Web personalizadas con ASP.NET o PHP.

Fuente: WebCast. Introducción a WebMatrix y Razor Sintax

Friday, April 27, 2012

Dada una fecha, obtener fecha inicio y fecha fin (VB.NET)

OoOoh, qué título más largo XD. No encontré otro que pueda resumir bien esta tarea.

Aquí la digo otra vez... (en Visual Basic .NET)

Dada una fecha, obtener o extraer la fecha inicial y la fecha final de esa fecha, valga la redundancia.

Ejemplo, fecha: 26/04/2012
La fecha inicial: 01/04/2012
La fecha final: 30/04/2012

La fecha inicial obvio es fácil, siempre será 01 y el mes y el año lo podes obtener a través de los métodos propios de VB.NET (.month, .year) Pero se puede evitar la fatiga haciendo eso... Cómo? Así:

Dim fecFin As New Date
Dim fecIni As New Date
fecFin = Me.txtFechaX.Value
fecIni = Me.txtFechaX.Value
fecIni = fecIni.AddDays(-fecIni.Day + 1)
fecFin = fecFin.AddDays(-fecFin.Day + 1).AddMonths(1).AddDays(-1)

A mi me sirvió de mucho, espero que sea lo que estés buscando. Saludos.

HaPPy CoDiNg! =)

Thursday, April 26, 2012

Usar case en claúsula order By

La verdad es que yo nunca he utilizado el CASE dentro de un ORDER BY. Pero hoy aprendí a hacerlo :) Tal vez me sirva más adelante. Aun no he pensado en el beneficio que pueda sacar de esta característica. 

Es sencillo, voy a dejar dos ejemplos. Por si acaso, cogí la primer tabla que vi cuando abrí mi base de datos y la adapté para dicho ejemplo. Todo con fines académicos, no lo veo para implementarlo en la vida real, no este ejemplo, jeje. :) 

(Probado en Microsoft SQL Server 2008)

Con parámetros.
Le mando la columna con la cual se ordenará y si se ordenará de manera ascendente o descendente.

DECLARE @columna varchar(50)
    SET @columna = 'tipo_registro'
    
 DECLARE @orden varchar(4)
    SET @orden = 'ASC'

 DECLARE @mix varchar(55)
    SET @mix = @columna + ':' + @orden

SELECT * FROM com.Contrato WHERE cod_cliente in (29,30)
ORDER BY


 CASE
        WHEN (@mix = 'tipo_registro:ASC')
        THEN tipo_registro
    END ASC,
    CASE
        WHEN (@mix = 'tipo_registro:DESC')
        THEN tipo_registro
    END DESC
 
 

Con condición. 
Ordenará por cierta columna de acuerdo a una condicionante.

SELECT * FROM com.Contrato WHERE cod_cliente in (29,30)
ORDER BY
 CASE
  WHEN cod_cliente=29
  THEN tipo_registro
  END,
 CASE
  WHEN cod_cliente=30
  THEN nro_contrato
  END 

HaPPy CoDiNg =)

Thursday, April 12, 2012

Cómo implementar una base De datos: 6to paso

Y llegó la hora de consultar los datos de las tablas de nuestra base de datos. Este paso es para satisfacer los reportes requeridos por los usuarios. Nuestro interés no solo es almacenar y almacenar datos sino también consultarlos, extraerlos, estudiarlos, etc.

Como sexto paso, utilizaremos la sentencia de consultas del SQL: SELECT.

El SELECT puede ser tan sencillo como complejo. Todo dependerá de los requerimientos, de lo que queremos.

Una regla general para saber si la consulta será una consulta anidada es cuando en el enunciado encontramos dos preguntas. Mi clásico ejemplo es: Quién es el alumno que obtuvo la mejor nota del semestre I/2012? Aquí primero debemos encontrar cuál es la mejor nota del semestre y luego saber qué alumno obtuvo esa nota.

La sintaxis de la instrucción SELECT es:

SELECT [DISTINCT] nombre de las columnas
FROM nombre de la tabla(s)
[WHERE condición de búsqueda]
[GROUP BY nombre de las columnas de agrupamiento]
[HAVING condición de búsqueda para el Group By]
[ORDER BY nombre las columnas de ordenamiento [ASC | DESC]]

Un SELECT mínimo debe ser así:

SELECT * FROM tabla

TIPS

Si hay un GROUP BY, es porque estamos utilizando funciones agregadas en el SELECT.

Puede existir un función agregada en el SELECT sin usar GROUP BY. Pero no puede existir un GROUP BY si existir una función agregada en el SELECT.

En el GROUP BY deben ir todas las columnas que van en el SELECT.

No puede existir un HAVING sin existir un GROUP BY. Puede existir un GROUP BY sin que haya un HAVING.

Existen tres tipos de consultas anidadas. Los SELECTs que van en el SELECT principal, los SELECTs que van en el FROM y los SELECTs que van en el WHERE.

Bueno, esta publicación no pretende enseñarte SQL. En la web hay n manuales para aprender cómo hacer consultas complejas y optimizadas.

Wednesday, April 11, 2012

Cómo implementar una base De datos: 5to paso

Habrán filas en nuestras tablas que ya no se requieran más. Como quinto paso, emplearemos la sentencia DELETE.

1. Delete Simple

Sin especificar una condición, eliminaremos todas las filas de una tabla sin eliminar la tabla

DELETE FROM persona

2. Delete con Condición

Podemos eliminar las filas de una tabla sólo aquellas que cumplan una condición

DELETE FROM presona WHERE fec_nac > '1985/01/01'

Como en todo, también podemos agregarle una consulta anidada el WHERE. Todo es cuestión de creatividad y basado en conocimiento. Nuestro delete puede convertir de algo sencillo a algo muy complejo.