Tag Archive: sql


Parte 2: Creación de mantenedores de tabla en Visual Studio Lightswitch para una base de datos SQL Server

 

En el articulo anterior vimos como enlazar el siguiente modelo de base de datos a Microsoft Visual Studio LightSwitch

 

Diagrama base de datos

Diagrama Empleado

 

En el presente artículo suponemos hemos creado el proyecto y enlazado la base de datos a nuestra aplicación, por lo tanto procederemos con la siguiente actividad.

 

Siempre ha sido y será un tema no muy agradable la creación de listados para administrar objetos de la base de datos ya que necesitamos crear las funcionalidades que añaden elementos, modifican y eliminan. En LightSwitch podemos hacer esto con unos simples click.

A continuación veremos como crear la pantalla que añada registros de Personas (es decir, que añada filas a la tabla Persona).

Antes de ello veremos en la siguiente imagen cómo es que quedó representada graficamente la base de datos, especialmente la tabla en cuestión.

Representación tabla Persona

 

Lo primero que hacemos es posicionarnos en el Explorador de soluciones y dar click derecho sobre el directorio/carpeta Screens (Pantallas) como se ve en la siguiente imagen

Agregar Pantallas

 

A continuación elegimos “New Data Screen” (o Nueva pantalla de datos) y al costado derecho en Screen Data elegimos la clase/Tabla Persona.

Nueva Persona

 

Sólo con añadir este elemento ya tenemos la funcionalidad que añade registros a la tabla Persona, incluyendo las validaciones para las restricciones de integridad definidas para la base de datos.

 

En la ejecución de la aplicación la pantalla nos quedará como sigue y añadiremos a Juanito Pérez como un nuevo elemento.

Nueva Persona

 

Vemos que además tenemos otras opciones. Estas están pues ya he añadido las otras funcionalidades de Adición para las otras tablas. En la parte 3 explicaré como funciona especificamente la tabla Empleado ya que esta posee claves foraneas y el tratamiento es diferente.

 

Por ahora continuemos con la tabla Persona. A continuacion agregaremos un listado donde podremos ver los registros de la tabla persona. Para añadir un Listado como el que sigue, realizamos la misma acción que como lo hicimos para crear la pantalla que añade (ver dos imagenes más arriba) pero ahora en vez de “New Data Screen” seleccionamos “List and Details Screen”. Cuando corramos la aplicación y seleccionemos la pantalla veremos lo siguiente (suponiendo que hemos añadido dos registros). Vemos que por defecto se muestra la columna ID de la tabla persona en la tabla, esto lo podemos cambiar.

 

Listado de Personas

 

Para cambiar lo que veremos en el listado hacemos doble click en la pantalla “PersonasListDetails” o el nombre que le hayamos dado cuando la creamos. Nos aparecerá algo como lo que sigue:

Personalizar Listado

Vemos que esta seleccionado el elemento “Rows Layout” Persona, este por defecto viene como “Summary” y nos muestra la primera columna existente en nuestra tabla (en este caso ID) y por eso en la imagen anterior a esta salian los ID de Persona y no el nombre. Para personalizar lo que queremos ver podemos pinchar + Add o suprimir como lo hice con el campo ID, dejando primero nombre y luedo edad y en ejecución se verá como sigue:

 

Listando Rows Layout Personalizado

 

En la imagen apreciamos que el listado que añadimos trae consigo las funcionalidades de adición, modificación y eliminación de elementos, asi como también como un plus Exportar a Excel y realizar búsquedas de contenido.

 

Esperando que esta segunda parte del artículo haya sido útil y lo más clara posible paso a decirles que esto es todo por ahora, luego en la tercera parte indicaré como funcionan las claves foraneas en LightSwitch y que son un poco más especiales de manejar.

Pronto aqui el enlace a la Tercera Parte….

Gracias.

He sido designado para implementar un sencillo y básico ejemplo para mostrar la complejidad y/0 facilidad de implementar sitios en ASP.NET. A continuación explicaré la aplicación que he desarrollado con motivo de esta designación.

Primero necesitaremos las siguientes aplicaciones:

Visual Web Developer 2008 Express Edition

Microsoft SQL Server 2005 Express Edition

Microsoft SQL Server Management Studio Express

Antes de continuar debo decir que para los programadores de C# o VB.NET es muy simple aprender a programar en ASP.NET ya que este nos provee la opción de programar en cualquiera de ambos lenguajes.

Una vez descargadas e instaladas vamos al Management Studio y hagamos una nueva base de datos que llamaremos “DB_EjemploASP”.

Ejecutemos el siguiente código, que nos creará una tabla llamada “Estadistica”, dentro de esta base de datos:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N’[dbo].[Estadistica]‘) AND type in (N’U'))
BEGIN
CREATE TABLE [dbo].[Estadistica](
[id] [int] NOT NULL,
[nombre] [varchar](50) NOT NULL,
[cargo] [varchar](50) NOT NULL,
[lenguaje] [varchar](50) NOT NULL,
CONSTRAINT [PK_Estadistica] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END

Descargar la siguiente solución Ejemplo ASP.NET

Extraer y abrir la solución desde la carpeta ProjectsEjemploASP con Visual Web Developer 2008

Si vemos la estructura de la solución vemos que tenemos:

  • App_Code -> BaseDatos.cs
  • Index.aspx
  • Index.aspxIndex.aspx.cs
  • Registro.aspx
  • Registro.aspxRegistro.aspx.cs
  • Estadisticas.aspx
  • Estadisticas.aspxEstadisticas.aspx.cs
  • Modificar.aspx
  • Modificar.aspxModificar.aspx.cs

Donde BaseDatos.cs es una clase tal como lo hacemos cuando realizamos aplicaciones con Windows Forms para Windows. Esta clase contiene las operaciones básicas de interacción la base de datos. Por ejemplo un insert:

public int _insert(string tabla, string campos, string valores)
{
string sql = “insert into ” + tabla + “(” + campos + “) ” + ” values(” + valores + “)”;
return crearComando(sql).ExecuteNonQuery();
}

Luego Registro.aspx es un Web Form análogo a un Windows Form de Aplicaciones de escritorio. Pero que sólo contiene el código de interfaz todos los procedimientos de interacción con base de datos, manejos de eventos estarán programados en su respectivo archivo CS,

Registro.aspx

Registro.aspx

osea si abrimos Registro.aspx.cs vemos que es una clase que contiene por ejemplo la siguiente función

protected void btnGuardar_Click(object sender, EventArgs e)
{
string id = textIdentificacion.Text;
string nombre = textNombre.Text;
string cargo = ListCargo.SelectedItem.Text;
string lenguaje = ListLenguaje.SelectedItem.Text;

BaseDatos b = new BaseDatos();

try
{
b._abrirConeccion();
int resultado = b._insert(“Estadistica”, “id, nombre, cargo, lenguaje”, id + “, ‘” + nombre + “‘, ‘” + cargo + “‘, ‘” + lenguaje + “‘”);
if (resultado > 0) lblinfo.Text = “Registro añadido exitosamente”;
else lblinfo.Text = “Ha ocurrido un error añadiendo los datos”;
}
catch (Exception ex)
{
lblinfo.Text = “Ha ocurrido un error: ” + ex.Message;
}
finally
{
b._cerrarConeccion();
}
}

Esta usa los controles del Web Form directamente y los usa para hacer un registro en la base de datos.

Conclusiones:

  • Los archivos ASPX son lo que vemos en pantalla
  • Los archivos ASPX.CS contienen el codigo del Web Form
  • Podemos programar clases igual que en una aplicación de escritorio.

Eso es todo, para mayores detalles el código está totalmente documentado.

¿Dudas o consultas o comentarios?

Deja tu comentario respectivo.