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.