viernes, 24 de diciembre de 2010

ADO.Net - Recuperar datos con DataReader

DataReader:
Se utiliza solo para recuperar información de SOLO LECTURA de la base de datos, considerando que no se puede realizar modificaciones alguna. Mejora en rendimiento y reduce la sobrecarga del sistemas (lo recomendable es recupera datos puntuales que no serán modificadas).

Implica crear una instancia del objeto Command y de un DataReader a continuación, para lo cual se llama a Command.ExecuteReader a fin de recuperar filas de un origen de datos.

Requisitos
  1. IDE (Visual Studio 2010).
  2. SGBD (SQL Server 2008.
  3. LP (C#)
  • Crear la solución con nombre de [ADO.Net DataReader].
  • Crear la base de datos (se creará desde el IDE de Visual Studio 2010); publico los pasos  de como crear una base de datos desde el propio IDE  (en ocasiones nos es útil crealo desde el propio IDE de Visual Studio).
Clic derecho en data connection / create new sql server database.

Autentificacion, server name / user name / password / new database name, clic en OK.
  • Creando la tabla Cliente


Clic derecho en table / add new table

Creando campos y primary key (seleccionar el campo IdCliente y clic en set primary key).

Guardando la tabla cliente 
  • Paso opcional, si deseas modificar la tabla cliente


Clic derecho en table / open table definition

Modificaremos los not null a null y clic en save all
  • Insertar datos a la tabla cliente.
Clic derecho en la tabla cliente / show table date

Insertamos los datos necesarios y clic en save all
  • Diseñar nuestro formulario (Form1.cs).
Controles datagridview, botton
  • Crear el app.config para nuestra cadena de conexión con la  base de datos.
  • Crear las clases clsClienteDal y clsClienteEntity.
Explicaciones:

Cadena de conexión (app.config).
Crear nuestra cadena de conexión (código XML), con nombre "cndb"

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>   
  </configSections>
  <connectionStrings>
    <add name="cndb"
         connectionString ="Data Source=HADSON-PC;Initial Catalog=dbAdoNet;User ID=sa; Password=aquitupassword;Pooling=False"
         providerName="System.Data.SqlCliente"/>
  </connectionStrings>
</configuration>

Entidades (clsClienteEntity).
Creamos la clase de entidad, donde creamos las propiedades (columna) de la entidad (tabla cliente). 

public class ClsClienteEntity
    {
        public int IdCliente { getset; }
        public string NomCliente { getset; }
        public string ApeCliente { getset; }
        public string DirCliente { getset; }
        public string TelCliente { getset; }
        public string CelCliente { getset; }
    }

Capa de acceso a datos (clsClienteDal).
Creamos nuestro método privado cargarCliente, en la cual creamos nuestra estructura de solo lectura y aremos referencia a nuestra clase de entidades ClsClienteEntity.

private static ClsClienteEntity cargarCliente(IDataReader Rdr)
        {
           ClsClienteEntity cliente = new ClsClienteEntity();

            cliente.IdCliente =  Convert.ToInt32(Rdr["IdCliente"]);
            cliente.NomCliente = Convert.ToString(Rdr["NomCliente"]);
            cliente.ApeCliente = Convert.ToString(Rdr["ApeCliente"]);
            cliente.DirCliente = Convert.ToString(Rdr["DirCliente"]);
            cliente.TelCliente = Convert.ToString(Rdr["TelCliente"]);
            cliente.CelCliente = Convert.ToString(Rdr["CelCliente"]);

           return cliente;
        }

Creamos nuestro método publico CargarAll; y recuperamos nuestra cadena de conexión "using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["cndb"].ToString()))" y con el SqlCommand recuperamos nuestra sentencia select "sql" y la variable de la cadena de conexión "cn". Recordemos que nuestro método es un List por tal motivo retornará un "return listar"

public static List<ClsClienteEntity> CargarAll()
        {           
            string sql = @"SELECT IdCliente, NomCliente, ApeCliente, DirCliente, TelCliente, CelCliente FROM Cliente";

            List<ClsClienteEntity> listar = new List<ClsClienteEntity>();

            using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["cndb"].ToString()))
            {
                SqlCommand cmd = new SqlCommand(sql, cn);
                cn.Open();
                SqlDataReader Rdr = cmd.ExecuteReader();

                while (Rdr.Read())
                {
                    listar.Add(cargarCliente(Rdr));
                }
                Rdr.Close();
                cn.Close();
            }
            return listar;          
        }


Botón Cargar Data (btncargar).
Por último en el evento click del botón Cargar Data de nuestro formulario Form1.cs se hace referencia al datagridview e invocamos nuestro evento CargarAll() que se encuentra en la clase ClsClienteDal.


private void btnCargar_Click(object sender, EventArgs e)
        {
            dataGridView1.DataSource = ClsClienteDal.CargarAll();
        }


Esto es el inicio para una nueva publicación sobre "ADO.Net - Mantenimiento".

La intenciones es brindarte un ejemplo práctico, aquí les dejo el código (C#) de esta pequeña publicación.



sábado, 11 de diciembre de 2010

JavaScript – Objeto Function Suma de dos valor

Uso del Objeto Function:
El objeto predefinido especifica una cadena de código JavaScript a ser compilada como una función. Con este pequeño ejemplo daremos a conocer la importancia del uso del objeto Function, que a futuro iremos implementando con nuevos ejemplos.

Requisitos
  1. Concepto de JavaScript.Function 
  2. Editor de texto con el Notepad o el Notepad++ entre otros.
  3. Y por último nuestro navegador web para realizar nuestra respectiva prueba.

Explicación
Creamos nuestra función sumar con dos argumentos (valor1 y valor2), donde la variable resultado (var resultado;) retornara el valor de nuestra suma (return resultado;).

function sumar(valor1, valor2)
{
    var resultado;
    resultado = valor1 + valor2;
    return resultado;
}
Para la visualización del resultado, implementamos las 2 lías de código.

document.write("<HR>Sumar: 17 + 10 = <B><I>"+sumar(17, 10));
document.write("</B></I><HR>")

Se visualizará en la página html, (Sumar: 17 + 10 =) valor cadena para una mejor visualización  a nuestra pequeña aplicación, concatenamos (+) e invocamos a nuestra función creada (sumar(17, 10)).

Guardamos todo nuestros cambios, y por último doble clic en nuestra página sumar.html para visualizar el resultado de la aplicación desarrollada.

El resultado de nuestra suma 27.

sábado, 9 de octubre de 2010

Programación Orientada a Objetos .Net

Introducción:
Conocido como OOP (Object-Oriented Programming) siglas en ingles que traducidas al español seria POO (Programación Orientada a Objetos).

La programación orientada a Objetos básicamente se define en una serie de conceptos y técnicas de programación para representar acciones o cosas de la vida real, es decir se considera como un objeto a cualquier cosa o individuo que nos rodea (persona, vehículo, animal, etc), a diferencia de otras formas de programación como por ejemplo la estructurada, con la POO trabajamos de manera distinta vinculando diferentes conceptos tales como objetos, clases, métodos, propiedades, estados, herencia, encapsulación, polimorfismo entre otros, generando con mucha mas fuerza cada vez en nuestro desarrollo en pro del funcionamiento del sistema principal, definiendo el programa como un conjunto de estos objetos relacionados entre si.

Al aplicar la POO lo primero que se debe hacer es identificar todas los objetos que involucran en cualquier tipo de sistema, es decir el sistema puede ser una simple conversación de amigos en un centro comercial o ir a un parque de diversiones, ir  de compras y todo lo que te puedes imaginar es una acción o relación a un tipo de sistema (para entender acerca de los sistemas de invito a leer el siguiente articulo, significado de sistema).

Tomamos como ejemplo la conversación de amigos en un centro comercial (identificaremos solo los involucrados relevantes):
- Ambos amigos se determina y clasifican que son Personas.
- Ambos acuden al centro comercial que se clasifica en un determinado Sitio o Lugar.
- Ambos inicia una conversión de un determinado Tema en común.

Como vemos se identifico a las Personas, el sitio y el tema de conversación. Hasta ahí todo bien, ahora lo que deberíamos preguntarnos es si ambas personas son hombre o mujer, si el sitio solo puede ser un centro comercial o un parque de diversiones, un coche, etc y el tema de conversión, preguntarnos de que tema podríamos entablar una conversación, política, salud, medio ambiente... etc.

De todo esto se trata la POO Programación Orientada a Objetos, involucrarnos y ser parte del mundo real, para luego ser transformado un proceso automatizado considerando los pilares principales que son los las clases, atributos, métodos y mensajes. En el siguiente articulo trataremos acerca de los objetos. 
___________________
Anterior    Siguiente

El principio de la sabiduría es el temor a Jehová; los insensatos deprecian la sabiduría y la enseñanza.

sábado, 18 de septiembre de 2010

Arquitectura del .NET Framewok

Arquitectura del .NET Framewok .Net
.NET Framework versión 3.5 se basa en las versiones 2.0 y 3.0 y sus Service Pack correspondientes. .NET Framework versión 3.5 Service Pack 1 actualiza los ensamblados de la versión 3.5 e incluye nuevos Service Pack para las versiones 2.0 y 3.0. En este tema se resume brevemente la relación de las versiones 2.0, 3.0 y 3.5 de .NET Framework y sus Service Packs.

Se considera que una aplicación utiliza los mismos ensamblados sin tener en cuenta si tiene como destino la versión 2.0, 3.0 o 3.5 de .NET Framework o Client Profile, y sin tener en cuenta si los ensamblados se han actualizado en el equipo del usuario. Por ejemplo, una aplicación que utiliza WPF y tiene como destino .NET Framework 3.0 utiliza la misma instancia del ensamblado mscorlib que una aplicación que utiliza formularios Windows Forms y tiene como destino .NET Framework 2.0. Si un usuario ha instalado una versión posterior de.NET Framework o un Service Pack que actualiza su copia de mscorlib.dll, las dos aplicaciones utilizarán la versión actualizada del ensamblado.


Características incluidas en .NET Framework 3.5 SP1:

Arquitectura del .NET Framewok .Net 3.5
.NET Framework 3.5 introduce nuevas características para las tecnologías de las versiones 2.0 y 3.0 e incorpora tecnologías adicionales en forma de nuevos ensamblados. Las tecnologías siguientes se introducen en .NET Framework 3.5:
  • Language Integrated Query (LINQ).
  • Nuevos compiladores para C#, Visual Basic y C++.
  • ASP.NET AJAX.

.NET Framewok 3.5 SP1 .Net 3.5
.NET Framework 3.5 Service Pack 1 actualiza varios ensamblados que se suministran con .NET Framework 3.5. Las actualizaciones incorporan cambios intrascendentes, nuevos elementos de API y una funcionalidad adicional para las tecnologías que se incluyen en .NET Framework 3.5. Las tecnologías siguientes se suministran con .NET Framework 3.5 SP1:

  • Datos dinámicos de ASP.NET.
  • ADO.NET Entity Framework
  • Compatibilidad con el proveedor de datos de SQL Server 2008 y
  • Compatibilidad con .NET Framework Client Profile.
Además se considera el proceso de ejecución administrada que incluye los siguientes pasos:

1. Elegir un compilador. 
Para obtener los beneficios que proporciona Common Language Runtime, se deben utilizar uno o más compiladores de lenguaje orientados al tiempo de ejecución. 

2. Compilar el código a Lenguaje intermedio de Microsoft (MSIL). La compilación convierte el código fuente en MSIL y genera los metadatos requeridos. 

3. Compilar MSIL a código nativo. En tiempo de ejecución, un compilador Just-In-Time (JIT) convierte MSIL en código nativo. Durante esta compilación, el código debe pasar un proceso de comprobación que examina el MSIL y los metadatos para averiguar si el código 
garantiza la seguridad de tipos.

4. Ejecutar código. 
Common Language Runtime proporciona la infraestructura que permite que la ejecución tenga lugar, así como una amplia gama de servicios que se pueden utilizar durante la ejecución. 

Puedes conocer más acerca de la historia de .Net Framework, todos este conceptos es un resumen de lo que se debería conocer acerca de la tecnología con la cual trabajaremos e iniciaremos detallando conceptos y ejercicios acerca POO.
___________________
Anterior       Siguiente

Jesús le dijo: Yo soy es el camino, la verdad y la vida, nadie viene al Padre sino por mí.

viernes, 10 de septiembre de 2010

CLR y Biblioteca de Clases de .Net

CLR - Common Language Runtime .Net
Es el motor en tiempo de ejecución, se puede considerar como un agente que administra el código en tiempo de ejecución y proporciona servicios centrales, como la administración de memoria, la administración de subprocesos y la interacción remota, al tiempo que aplica una seguridad estricta a los tipos y otras formas de especificación del código que fomentan su seguridad y solidez. De hecho, el concepto de administración de código es un principio básico del motor en tiempo de ejecución. El código destinado al motor en tiempo de ejecución se denomina código administrado, a diferencia del resto de código, que se conoce como código no administrado.


Características - CLR:
  • Common Language Runtime administra la memoria, ejecución de subprocesos, ejecución de código, comprobación de la seguridad del código, compilación y demás servicios del sistema. Estas características son intrínsecas del código administrado que se ejecuta en Common Language Runtime.
  • Con respecto a la seguridad, los componentes administrados reciben grados de confianza diferentes, en función de una serie de factores entre los que se incluye su origen (como Internet, red empresarial o equipo local). Esto significa que un componente administrado puede ser capaz o no de realizar operaciones de acceso a archivos, operaciones de acceso al Registro y otras funciones delicadas, incluso si se está utilizando en la misma aplicación activa. Por ejemplo, los usuarios pueden confiar en que un archivo ejecutable incrustado en una página Web puede reproducir una animación en la pantalla o entonar una canción, pero no puede tener acceso a sus datos personales, sistema de archivos o red.
  • Además, ofrece la solidez del código mediante la implementación de una infraestructura estricta de comprobación de tipos y código denominada CTS (Common Type System, Sistema de tipos común). CTS garantiza que todo el código administrado es autodescriptivo. Los diferentes compiladores de lenguajes de Microsoft y de terceros generan código administrado que se ajusta a CTS. Esto significa que el código administrado puede usar otros tipos e instancias administrados, al tiempo que se aplica inflexiblemente la fidelidad y seguridad de los tipos.
  • Así mismo, el entorno administrado del motor en tiempo de ejecución elimina muchos problemas de software comunes. Por ejemplo, el motor en tiempo de ejecución controla automáticamente la disposición de los objetos, administra las referencias a éstos y los libera cuando ya no se utilizan. Esta administración automática de la memoria soluciona los dos errores más comunes de las aplicaciones: la pérdida de memoria y las referencias no válidas a la memoria.
  • Para finalizar, el motor en tiempo de ejecución está diseñado para mejorar el rendimiento. Aunque Common Language Runtime proporciona muchos servicios estándar de motor en tiempo de ejecución, el código administrado nunca se interpreta. Una característica denominada compilación JIT (Just-In-Time) permite ejecutar todo el código administrado en el lenguaje máquina nativo del sistema en el que se ejecuta. Mientras tanto, el administrador de memoria evita que la memoria se pueda fragmentar y aumenta la zona de referencia de la memoria para mejorar aún más el rendimiento.
Biblioteca de clases de .NET Framework - Class Library:
La biblioteca de clases de .NET Framework es una colección de tipos reutilizables que se integran estrechamente con Common Language Runtime. La biblioteca de clases está orientada a objetos, lo que proporciona tipos de los que su propio código administrado puede derivar funciones. Esto ocasiona que los tipos de .NET Framework sean sencillos de utilizar y reduce el tiempo asociado con el aprendizaje de las nuevas características de .NET Framework. Además, los componentes de terceros se pueden integrar sin dificultades con las clases de .NET Framework.

La biblioteca de clases de .NET Framework es una colección de tipos reutilizables que se integran estrechamente con Common Language Runtime. La biblioteca de clases está orientada a objetos, lo que proporciona tipos de los que su propio código administrado puede derivar funciones. Esto ocasiona que los tipos de .NET Framework sean sencillos de utilizar y reduce el tiempo asociado con el aprendizaje de las nuevas características de .NET Framework. Además, los componentes de terceros se pueden integrar sin dificultades con las clases de .NET Framework.

Como en cualquier biblioteca de clases orientada a objetos, los tipos de .NET Framework permiten realizar diversas tareas de programación comunes, como son la administración de cadenas, recolección de datos, conectividad de bases de datos y acceso a archivos. Además de estas tareas habituales, la biblioteca de clases incluye tipos adecuados para diversos escenarios de desarrollo especializados. Por ejemplo, puede utilizar .NET Framework para desarrollar los siguientes tipos de aplicaciones y servicios:

  • Aplicaciones de consola.
  • Aplicaciones GUI de Windows (Windows Forms).
  • Aplicaciones de Windows Presentation Foundation (WPF).
  • Servicios web.
  • Servicios de Windows.
  • Aplicaciones orientadas a servicios utilizando Windows Communication Foundation (WCF).
  • Aplicaciones habilitadas para el flujo de trabajo utilizando Windows Workflow Foundation (WF).
En el siguiente articulo conoceremos más al detalle sobre la arquitectura del .Net Framework.
___________________
Anterior   Siguiente

Porque Jehová da la sabiduría, y de su boca viene el conocimiento y la inteligencia.

miércoles, 1 de septiembre de 2010

Introducción a la arquitectura .Net

Introducción a la arquitectura .Net
Antes de iniciar con los conceptos específicos que engloban sobre la programación orientada a objetos, iniciaremos con la introducción a la arquitectura .Net, es decir detallar ciertos conceptos y aspectos a conocer sobre la arquitectura en la cual implementaremos nuestros ejemplos de POO.

Microsoft .NET:
Es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados, todo esto es llamado la plataforma .NET, y a los servicios se les denomina servicios Web.

Para la creación de aplicaciones para la mencionada plataforma .NET, tanto servicios Web como aplicaciones tradicionales (de consola, winform, etc.), Microsoft ha publicado el denominado kit de desarrollo de software conocido como .NET Framework SDK, que incluye las herramientas necesarias tanto para su desarrollo como para su distribución y ejecución y IDE Visual Studio.NET, que permite hacer todo la anterior desde una interfaz visual basada en ventanas.

.NET Framework:
Es un componente integral de Windows que admite la creación y la ejecución de la siguiente generación de aplicaciones y servicios Web XML. El diseño de .NET Framework está enfocado a cumplir los siguientes objetivos:
  • Proporcionar un entorno coherente de programación orientada a objetos, en el que el código de los objetos se pueda almacenar y ejecutar de forma local, pero, distribuida en Internet o ejecutar de forma remota.
  • Proporcionar un entorno de ejecución de código que reduzca lo máximo posible la implementación de software y los conflictos de versiones.
  • Garantizar y ofrecer un entorno de ejecución de código que fomente la ejecución segura del mismo, incluso del creado por terceras personas desconocidas o que no son de plena confianza.
  • Proporcionar un entorno de ejecución de código que elimine los problemas de rendimiento de los entornos en los que se utilizan secuencias de comandos o intérpretes de comandos.
  • Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy diferentes, como las basadas en Windows o en el Web.
  • Establecer toda la comunicación en estándares del entorno para asegurar que el código de .NET Framework se puede integrar con otros tipos de código.
.NET Framework contiene dos componentes principales: Common Language Runtime y la biblioteca de clases de .NET Framework, ambos lo veremos en el siguiente articulo.
___________________
Inicio       Siguiente

... pero los que esperan a Jehová tendrán nuevas fuerzas; levantarán alas como las águilas; correrán, y no se cansarán; caminarán, y no se fatigarán.