Módulo 7 Insertar información en tablas

microsoft-azure-logo

Objetivo del curso: Ayudar a quienes deseen aprender a generar aplicaciones WPF con enlace a bases de datos en Azure de una manera en la que no sea requerido un conocimiento previo en el tema utilizando lenguaje coloquial para quienes inician recién en el mundo de la programación utilizando C# como lenguaje de programación y SQL Server.

Objetivo General: Desarrollar un sistema que permita llevar el seguimiento de peso y estatura de alumnos.

Objetivo del tutorial: Insertar registros nuevos en nuestra base de datos en SQL Azure sin utilizar procedimientos almacenados, revisar que la información proporcionada por el usuario sea válida, es decir, cadenas de texto y números

Requerimientos:

  • Visual Studio 2017 o versión anterior.
  • Aplicación WPF
  • Cuenta de Azure vigente
  • Base de datos y tablas creadas en los módulos anteriores

Interfaz de usuario

En esta ocasión he decidido dividir en dos partes la interfaz de usuario, la primera de ellas es la sección de Información Personal dónde se toman los datos personales de los chicos, el segundo apartado es la sección de peso y estatura.

insertar

Funcionamiento:

El usuario puede navegar entre las secciones, pero al dar clic en guardar debe validar que todos los datos sean ingresados con anterioridad.

Código:

Agregamos información al combo de sexo de la siguiente manera:

combosexo.Items.Add(“H”);

 combosexo.Items.Add(“M”);

Para cumplir con el funcionamiento de las secciones agregamos el siguiente código:

private void btnpersonal_Click(object sender, RoutedEventArgs e) //Hace visible el grid personal y oculta el grid de perso y estatura {

gridpersonal.Visibility = Visibility.Visible;

gridpeso.Visibility = Visibility.Collapsed;

}

private void btnpeso_Click(object sender, RoutedEventArgs e) //Hace visible el grd de peso y estatura / oculta el grid de datos personales

{

gridpeso.Visibility = Visibility.Visible;

gridpersonal.Visibility = Visibility.Collapsed;

}

Insertando información en la base de datos

private void btnguardar_Click(object sender, RoutedEventArgs e)

{

if (txtnombre.Text != “” && txtapellido1.Text != “” && txtapellido2.Text != “” && txtedad.Text != “” && txtpeso.Text != “” && txtestatura.Text != “”) //validamos que la información sea ingresada

{

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[“conexion”].ConnectionString); //creamos la conexión a nuestra base de datos llamando la información de app.config

using (SqlCommand command = conn.CreateCommand()) //creamos el sqlcommand e igualamos a la conexión

{

command.CommandText = “insert into registroalumno(nombre,apellido1,apellido2,sexo,edad,peso,estatura)values(@nombre,@apellido1,@apellido2,@sexo,@edad,@peso,@estatura)”; //generamos la sentencia insert, igual que en SQL Server

//Asignamos a las variables de inserción los valores del formulario

command.Parameters.AddWithValue(“@nombre”, txtnombre.Text);

command.Parameters.AddWithValue(“@apellido1”, txtapellido1.Text);

command.Parameters.AddWithValue(“@apellido2”, txtapellido2.Text);

command.Parameters.AddWithValue(“@sexo”, combosexo.SelectedValue.ToString());

command.Parameters.AddWithValue(“@edad”, int.Parse(txtedad.Text));

command.Parameters.AddWithValue(“@peso”, float.Parse(txtpeso.Text));

command.Parameters.AddWithValue(“@estatura”, float.Parse(txtestatura.Text));

//abrimos la conexión

conn.Open();

// command.ExecuteNonQuery() nos devuelve el número de líneas afectadas

int estatus = command.ExecuteNonQuery();

//Sí es mayor a 0, el usuario se ha registrado

if (estatus > 0)

{

txtestatus.Text = “Usuario registrado con éxito”;

}

else

{

txtestatus.Text = “Algo fallo”;

}

}

//se cierra la conexión

conn.Close();

}

else //notifica al usuario de que falta ingresar alguna información

{

txtestatus.Text = “Debes ingresar toda la información para poder continuar con el registro”;

}

}

Validamos que sean exclusivamente números los que el usuario ingrese en los campos de edad, peso y estatura de la siguiente manera:

private void txtpeso_KeyDown(object sender, KeyEventArgs e)

{

if (e.Key >= Key.D0 && e.Key <= Key.D9 || e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9)

{

txtestatus.Text = “”;

}

else

{

txtestatus.Text = “El peso debe contener valores númericos”;

}

}

Corremos el código y listo tenemos nuestros datos insertados sin el uso de procedimientos almacenados.

Curso completo: aquí

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s