ASP.NET Conexiones a Bases de Datos

Anuncio
ASP.NET: Trabajando con Bases de Datos Tecnología Cliente/Servidor ASP.NET Conexiones a Bases de Datos Parte No. 1: Creación de la Base de Datos. 


Base de Datos: db_registro_academico Tabla: tbl_estudiantes, Aplicar la siguiente estructura: Parte 2: Preparación del Sitio de la Aplicación en IIS. 


Verificar el Registro de Framework 2.0 en el IIS. Crear el Sitio Web en el IIS local con el Visual Studio. Configurar el Sitio para trabajar con ASP.NET 2.0 y que el documento por defecto sea el Default.aspx. Ing. Edwin Rolando Paredes Calderón. Página 1 de 8 ASP.NET: Trabajando con Bases de Datos Tecnología Cliente/Servidor Parte 3: Aplicar el tema o maquetación definida con el 960gs. Tomar en cuenta que en el área de trabajo debe dejarse una sola columna, eliminando la columna o div_info
definida en la maquetación. Además de importar tanto las imágenes como los archivos de CSS para poder implementar la estructura indicada. Parte 4: Definición de los Objetos en el Archivo .aspx. 
Objetos de los Botones, para generar el código manejador del evento podemos hacer doble click en el modo de Diseño del documento ASPX. Ing. Edwin Rolando Paredes Calderón. Página 2 de 8 ASP.NET: Trabajando con Bases de Datos 
Tecnología Cliente/Servidor Definición de los Objetos para los Campos de la Tabla: <div>
<asp:Panel ID="pnl_campos" runat="server" Enabled="false">
<table cellpadding="2" cellspacing="1" border="0" width="100%">
<tr>
<td>
ID
</td>
<td>
<asp:TextBox ID="txt_id" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Nombres
</td>
<td colspan="3">
<asp:TextBox ID="txt_nombres" runat="server" Width="400px">
</asp:TextBox>
</td>
</tr>
<tr>
<td>
Apellidos
</td>
<td colspan="3">
<asp:TextBox ID="txt_apellidos" runat="server" Width="400px">
</asp:TextBox>
</td>
</tr>
<tr>
<td>
Fecha Nac.
</td>
<td>
<asp:TextBox ID="txt_fecha_nac" runat="server"></asp:TextBox>
</td>
<td>
Nota
</td>
<td>
<asp:TextBox ID="txt_nota" runat="server"></asp:TextBox>
</td>
</tr>
</table>
</asp:Panel>
</div>
Ing. Edwin Rolando Paredes Calderón. Página 3 de 8 ASP.NET: Trabajando con Bases de Datos 
Tecnología Cliente/Servidor Definición de la Grilla en el ASPX, podemos simplemente definir el objeto GridView con (<asp:GridView ID="gv_Datos" runat="server") luego aplicar el formato y definir las columnas utilizando las etiquetas inteligentes o bien definir el objeto en el código aspx: <div class="centrado">
<asp:GridView ID="gv_Datos" runat="server" CellPadding="4"
ForeColor="#333333" GridLines="None" Width="500px"
CssClass="centrar_grillas" AutoGenerateColumns="False">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:BoundField DataField="id" HeaderText="ID" />
<asp:BoundField DataField="nombre_completo"
HeaderText="Nombre Completo">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="nota" HeaderText="Nota" />
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White"
HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True"
ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</div>
Parte 5: Codificación para la conexión a Datos: 
Carga del Documento //Evento de la Carga del Documento
protected void Page_Load(object sender, EventArgs e)
{
this.Cargar_Datos();
}
Ing. Edwin Rolando Paredes Calderón. Página 4 de 8 ASP.NET: Trabajando con Bases de Datos 
Tecnología Cliente/Servidor Carga de Datos en la Grid /// <summary>
/// Función para Cargar los Datos de la Tabla en la Grid
/// </summary>
protected void Cargar_Datos()
{
//Cadena de Conexion al Servidor DB
string str_cnn = @"server=.;database=db_registro_academico;
user id=sa;password=sa;";
//Objeto para hacer las conexiones con la respectiva cadena de conexion
SqlConnection cnn = new SqlConnection(str_cnn);
//Consulta que vamos a ejecutar en el servidor de la Base de Datos
string query = @"SELECT
id
,nombres
,apellidos
,fecha_nac
,nota
,nombre_completo = nombres + ' ' + apellidos
FROM
tbl_estudiantes";
//Objeto para extraer datos de una Base de Datos
SqlDataAdapter da = new SqlDataAdapter(query, cnn);
//Definimos el Objeto donde vamos a recibir los datos de la Base de Datos
DataTable dt = new DataTable();
da.Fill(dt); //LLenamos la Tabla con el resultado de la Consulta
//Asignamos los Resultados a la respectiva propiedad del objeto donde vamos a
//mostrar los Datos
this.gv_Datos.DataSource = dt;
//Llena el Objeto con los Datos especificados en la Propiedad DataSource
this.gv_Datos.DataBind();
}
Ing. Edwin Rolando Paredes Calderón. Página 5 de 8 ASP.NET: Trabajando con Bases de Datos 
Tecnología Cliente/Servidor Definimos una función para activar y desactivar los campos de edición del formulario de acuerdo al parámetro que recibe. //Permite Activar/Desactivar los campos para su edición
protected void Habilitar_Edicion(bool opcion)
{
this.lb_insertar.Visible = !opcion;
this.lb_editar.Visible = !opcion;
this.lb_eliminar.Visible = !opcion;
this.lb_guardar.Visible = opcion;
this.lb_cancelar.Visible = opcion;
this.pnl_campos.Enabled = opcion;
}

Evento Click del Botón Insertar: //Definición del Evento Click del botón Insertar
protected void lb_insertar_Click(object sender, EventArgs e)
{
this.Habilitar_Edicion(true);
}
Nótese que estamos invocando la función Habilitar_Edicion para activar los campos en la inserción del registro. Ing. Edwin Rolando Paredes Calderón. Página 6 de 8 ASP.NET: Trabajando con Bases de Datos 
Tecnología Cliente/Servidor Código para Insertar el Registro en la Tabla: /// <summary>
/// Función para Insertar el Registro
/// con los Valores Actuales de los Campos
/// </summary>
protected void Insertar()
{
//Cadena de Conexion al Servidor DB
string str_cnn = @"server=.;database=db_registro_academico;
user id=sa;password=sa;";
SqlConnection cnn = new SqlConnection(str_cnn); //Objeto de Conexión
string query = "";
query = String.Format(@"
insert into
dbo.tbl_estudiantes
( nombres, apellidos, fecha_nac, nota )
values
( '{0}', '{1}', '{2}', {3} )"
,
this.txt_nombres.Text,
this.txt_apellidos.Text,
this.txt_fecha_nac.Text,
this.txt_nota.Text
);
//Definimos el Objeto para Ejecutar Instrucciones SQL en la Base de Datos
SqlCommand com = new SqlCommand(query, cnn);
//Tipo de Comando, Text o Instrucciones SQL Generales
com.CommandType = CommandType.Text;
cnn.Open(); //Abrimos la Conexión
com.ExecuteNonQuery(); //Ejecutamos la Instrucción
cnn.Close(); //Cerramos la Conexión
} Ing. Edwin Rolando Paredes Calderón. Página 7 de 8 ASP.NET: Trabajando con Bases de Datos 
Tecnología Cliente/Servidor Guardar los Datos
/// <summary>
/// Evento Click del Botón Guardar
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lb_guardar_Click(object sender, EventArgs e)
{
this.Insertar(); //Inserta el Registro en la Base de Datos
this.Habilitar_Edicion(false); //Deshabilita la campos
this.Cargar_Datos(); //Cargas los Datos Actualizados en la GridView
}

En Caso de Cancelar la Edición: /// <summary>
/// Cancela la Edición, Deshabilitando los Datos
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lb_cancelar_Click(object sender, EventArgs e)
{
this.Habilitar_Edicion(false); //Deshabilita los Campos del Formulario
}

Limpiar Campos: Nótese que es necesario Limpiar los Campos luego de Insertar o Cancelar un registro en la tabla por lo que es necesario y mejor opción crear la función que realice esa tarea. 
Edición de Registros: Crear o Codificar las funciones que permitan editar o eliminar registros en la tabla. Ing. Edwin Rolando Paredes Calderón. Página 8 de 8 
Descargar