Está en la página 1de 12

Mantenimiento en C#

Insertar registro (insert):


Vimos en el concepto anterior como conectarnos al servidor de SQL Server y seleccionar una base
de datos. Veremos ahora como pedir que el SQL Server ejecute un comando "INSERT".

Trabajaremos con la base de datos "base1" que creamos en conceptos anteriores y con la tabla
"articulos" que también creamos previamente con la estructura:

codigo int primary key identity


descripcion varchar(50)
precio decimal

Problema
Implementar una interfaz visual para el alta o carga de registros en la tabla artículos.
Crearemos un proyecto llamado "pruebabasedatos2" con la siguiente interfaz visual:

El código fuente de la aplicación para efectuar altas es:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;

Asesor: Oscar J Gonzales G 1


Mantenimiento en C#
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.Data.SqlClient;

namespace PruebaBaseDatos2
{
public partial class Form1 : Form
{
SqlConnection conexion = new SqlConnection("server=Ozkarin-PC ; database=base1 ; integrated
security = true");

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
conexion.Open();
string descri = textBox1.Text;
string precio = textBox2.Text;
string sql = "insert into articulos(descripcion,precio) values ('" + descri + "'," + precio + ")";
SqlCommand comando = new SqlCommand(sql, conexion);
comando.ExecuteNonQuery();
MessageBox.Show("Los datos se guardaron correctamente");
textBox1.Text = "";
textBox2.Text = "";
conexion.Close();
}
}
}

Asesor: Oscar J Gonzales G 2


Mantenimiento en C#
Listar registros(select):
Vimos el concepto anterior como enviar datos al servidor para que se efectúe un insert en una tabla.
Veremos ahora como recuperar los datos almacenados en una tabla para mostrarlos en pantalla.

Problema
Imprimir por pantalla todos los registros contenidos en la tabla articulos.

Para recuperar datos de una tabla tenemos que utilizar el comando SQL select indicando el nombre
de la tabla de donde se recuperan los datos y los campos propiamente dichos.

Crear un proyecto llamado: PruebaBaseDatos3 y definir la siguiente interfaz visual:

 Un objeto de la clase Button.


 Un objeto de la clase TextBox (propiedad Multiline: true y ScrollBar: Vertical)

En el evento Click del botón procedemos a recuperar los datos de la tabla articulos y los mostramos
dentro del TextBox.

using System;

Asesor: Oscar J Gonzales G 3


Mantenimiento en C#
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.Data.SqlClient;

namespace PruebaBaseDatos3
{
public partial class Form1 : Form
{
public Form1()
{
SqlConnection conexion = new SqlConnection("server=DIEGO-PC ; database=base1 ; integrated
security = true");

InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
conexion.Open();
string cadena = "select codigo, descripcion, precio from articulos";
SqlCommand comando = new SqlCommand(cadena, conexion);
SqlDataReader registros = comando.ExecuteReader();
while (registros.Read())
{
textBox1.AppendText(registros["codigo"].ToString());
textBox1.AppendText(" - ");
textBox1.AppendText(registros["descripcion"].ToString());
textBox1.AppendText(" - ");
textBox1.AppendText(registros["precio"].ToString());
textBox1.AppendText(Environment.NewLine);
}
conexion.Close();
}
}
}

Asesor: Oscar J Gonzales G 4


Mantenimiento en C#
Consultar registros (select):
En el concepto anterior recuperamos todos los registros de una tabla. Ahora veremos como
podemos rescatar uno en particular.

Problema
Implementar la consulta de un artículo ingresando por teclado el código y recuperando la
descripción y el precio.

Crear un proyecto llamado: PruebaBaseDatos4 y definir la siguiente interfaz visual:

 5 objeto de la clase Label.


 1 objeto de la clase Button.
 1 objeto de la clase TextBox.

En el evento Click procedemos a buscar el código del artículo ingresado en el TextBox. El código
fuente es:

using System;
using System.Collections.Generic;
using System.ComponentModel;

Asesor: Oscar J Gonzales G 5


Mantenimiento en C#
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.Data.SqlClient;

namespace PruebaBaseDatos4
{
public partial class Form1 : Form
{
SqlConnection conexion = new SqlConnection("server=DIEGO-PC ; database=base1 ; integrated
security = true");

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
conexion.Open();
string cod = textBox1.Text;
string cadena = "select descripcion, precio from articulos where codigo="+cod;
SqlCommand comando = new SqlCommand(cadena, conexion);
SqlDataReader registro = comando.ExecuteReader();
if (registro.Read())
{
label4.Text = registro["descripcion"].ToString();
label5.Text = registro["precio"].ToString();
}
else
MessageBox.Show("No existe un artículo con el código ingresado");
}
conexion.Close();
}
}

Asesor: Oscar J Gonzales G 6


Mantenimiento en C#

Borrar registro(delete):
Otra de las actividades comunes con los datos es la eliminación. Para eliminar registros de una tabla
debemos emplear el comando SQL delete.

Problema
Implementar una aplicación que permita consultar un artículo por su código. Luego de mostrarlo
activar un botón para poder eliminarlo.

Crear un proyecto llamado: PruebaBaseDatos5 y definir la siguiente interfaz visual:

 5 objeto de la clase Label.


 2 objeto de la clase Button (disponer la propiedad Enabled del botón de borrado en false
para que empiece desactivo)
 1 objeto de la clase TextBox.

Asesor: Oscar J Gonzales G 7


Mantenimiento en C#
El código fuente para resolver la consulta y borrado es:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.Data.SqlClient;

namespace PruebaBaseDatos5
{
public partial class Form1 : Form
{
private SqlConnection conexion = new SqlConnection("server=DIEGO-PC ; database=base1 ;
integrated security = true");

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
conexion.Open();
string cod = textBox1.Text;
string cadena = "select descripcion, precio from articulos where codigo=" + cod;
SqlCommand comando = new SqlCommand(cadena, conexion);
SqlDataReader registro = comando.ExecuteReader();
if (registro.Read())
{
label4.Text = registro["descripcion"].ToString();
label5.Text = registro["precio"].ToString();
button2.Enabled = true;
}
else
MessageBox.Show("No existe un artículo con el código ingresado");
}
conexion.Close();

Asesor: Oscar J Gonzales G 8


Mantenimiento en C#
private void button2_Click(object sender, EventArgs e)
{
conexion.Open();
string cod = textBox1.Text;
string cadena = "delete from articulos where codigo=" + cod;
SqlCommand comando = new SqlCommand(cadena, conexion);
int cant;
cant = comando.ExecuteNonQuery();
if (cant==1)
{
label4.Text = "";
label5.Text = "";
MessageBox.Show("Se borró el artículo");
}
else
MessageBox.Show("No existe un artículo con el código ingresado");
button2.Enabled = false;
}
conexion.Close();
}
}

Asesor: Oscar J Gonzales G 9


Mantenimiento en C#
Modificar registro (update):
Vimos hasta ahora el alta (carga), consulta (búsqueda) y baja (borrado). Ahora veremos como
modificar datos de una fila de la tabla.
Para modificar datos debemos utilizar el comando SQL update.

Problema
Implementar una aplicación que permita consultar un artículo por su código. Luego mostrar en dos
TextBox la descripción y el precio actual. Permitir modificar la descripción y precio dejando
registrado dicho cambio en la tabla de la base de datos al presionar un botón.

Crear un proyecto llamado: PruebaBaseDatos6 y definir la siguiente interfaz visual:

 3 objeto de la clase Label.


 2 objeto de la clase Button (disponer la propiedad Enabled del botón de modificación en
false para que empiece desactivo)
 3 objeto de la clase TextBox.

Asesor: Oscar J Gonzales G 10


Mantenimiento en C#
El código fuente para resolver la consulta y modificación es:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using System.Data.SqlClient;

namespace PruebaBaseDatos6
{
public partial class Form1 : Form
{
private SqlConnection conexion = new SqlConnection("server=DIEGO-PC ; database=base1 ;
integrated security = true");

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
conexion.Open();
string cod = textBox1.Text;
string cadena = "select descripcion, precio from articulos where codigo=" + cod;
SqlCommand comando = new SqlCommand(cadena, conexion);
SqlDataReader registro = comando.ExecuteReader();
if (registro.Read())
{
textBox2.Text = registro["descripcion"].ToString();
textBox3.Text = registro["precio"].ToString();
button2.Enabled = true;
}
else
MessageBox.Show("No existe un artículo con el código ingresado");
}
conexion.Close();
}}

Asesor: Oscar J Gonzales G 11


Mantenimiento en C#
private void button2_Click(object sender, EventArgs e)
{
conexion.Open();
string cod = textBox1.Text;
string descri = textBox2.Text;
string precio = textBox3.Text;
string cadena = "update articulos set descripcion='"+descri+"', precio="+precio+" where
codigo=" + cod;
SqlCommand comando = new SqlCommand(cadena, conexion);
int cant;
cant = comando.ExecuteNonQuery();
if (cant == 1)
{
MessageBox.Show("Se modificaron los datos del artículo");
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
}
else
MessageBox.Show("No existe un artículo con el código ingresado");
button2.Enabled = false;
}
conexion.Close();
}
}

Asesor: Oscar J Gonzales G 12

También podría gustarte