Actualizar Producto
Agregamos otro Windows Form y lo nombramos ActualizarProducto.cs y al formulario lo nombremos frmActualizarProducto.Nos vamos al formulario AgregarProducto y en el menú hacemos doble clic donde dice Actualizar Producto y escribimos lo siguiente:
private void ActualizarProductoToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmActualizarProducto actualizarProducto = new frmActualizarProducto(); actualizarProducto.Show(); }
Nos vamos otra vez al formulario AgregarProducto y el menú opciones selecionamos la opción Menú y escribimos lo siguiente:
private void MenúToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmMenu menu = new frmMenu(); menu.Show(); }
El archivo AgregarProducto.cs queda terminado de la siguiente forma:
using MySql.Data.MySqlClient; 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; namespace GatoAbarrotero { public partial class frmAgregarProducto : Form { MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb"); public frmAgregarProducto() { InitializeComponent(); } private void BtnGuardarProducto_Click(object sender, EventArgs e) { try { conexion.Open(); string insertarQuery = "INSERT INTO producto (idProducto,codigoBarras,nombre,precio) VALUES(null,?codigoBarras,?nombre,?precio)"; MySqlCommand cmd = new MySqlCommand(insertarQuery, conexion); cmd.Parameters.Add("?codigoBarras", MySqlDbType.VarChar, 60).Value = txtCodigoBarras.Text; cmd.Parameters.Add("?nombre", MySqlDbType.VarChar, 60).Value = txtNombreProducto.Text; cmd.Parameters.Add("?precio", MySqlDbType.Decimal, 60).Value = txtPrecio.Text; cmd.ExecuteNonQuery(); MessageBox.Show("Registro Exitoso"); txtCodigoBarras.Text = " "; txtNombreProducto.Text = " "; txtPrecio.Text = " "; conexion.Close(); } catch { MessageBox.Show("Inserción fallida"); } } private void BuscarProductoToolStripMenuItem_Click(object sender, EventArgs e) { frmVerProducto verProducto = new frmVerProducto(); verProducto.Show(); } private void EliminarProductoToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmEliminarProducto eliminarProdcuto = new frmEliminarProducto(); eliminarProdcuto.Show(); } private void ActualizarProductoToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmActualizarProducto actualizarProducto = new frmActualizarProducto(); actualizarProducto.Show(); } private void MenúToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmMenu menu = new frmMenu(); menu.Show(); } } }
A continuación nos vamos a formulario EliminarProducto.csNis vamos nuestro menú opciones y hacemos doble click en Actualizar Producto y escribimos lo siguiente.
private void ActualizarProductoToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmActualizarProducto ac = new frmActualizarProducto(); ac.Show(); }
Nuestro archivo EliminarProducto.cs quedo de la siguiente forma:
using MySql.Data.MySqlClient; 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; namespace GatoAbarrotero { public partial class frmEliminarProducto : Form { MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb"); public frmEliminarProducto() { InitializeComponent(); } private void Label2_Click(object sender, EventArgs e) { } private void BtnBuscarProducto_Click(object sender, EventArgs e) { try { conexion.Open(); string selectQuery = "SELECT * FROM producto WHERE nombre LIKE '%" + txtNombreProducto.Text + "%' "; MySqlCommand cmd = new MySqlCommand(selectQuery, conexion); MySqlDataAdapter selecionnar = new MySqlDataAdapter(); selecionnar.SelectCommand = cmd; DataTable datosProducto = new DataTable(); selecionnar.Fill(datosProducto); dtgvProductos.DataSource = datosProducto; conexion.Close(); btnEliminarProducto.Enabled = true; } catch { MessageBox.Show("Error al conectar"); } } private void FrmEliminarProducto_Load(object sender, EventArgs e) { btnEliminarProducto.Enabled = false; } private void BtnEliminarProducto_Click(object sender, EventArgs e) { if (dtgvProductos.CurrentRow == null) { MessageBox.Show("Selecionar fila"); return; } int idProducto = Convert.ToInt32(dtgvProductos.CurrentRow.Cells["idProducto"].Value); try { conexion.Open(); string eliminarQuery = "DELETE FROM producto WHERE idProducto = @idProducto "; MySqlCommand cmd = new MySqlCommand(eliminarQuery, conexion); cmd.Parameters.AddWithValue("@idProducto", idProducto); cmd.ExecuteNonQuery(); MessageBox.Show("Eliminación Exitosa"); dtgvProductos.Rows.Remove(dtgvProductos.CurrentRow); conexion.Close(); } catch { MessageBox.Show("Eliminación fallida"); } } private void AgregarProductoToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmAgregarProducto agregarProducto = new frmAgregarProducto(); agregarProducto.Show(); } private void MenuToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmMenu menu = new frmMenu(); menu.Show(); } private void ActualizarProductoToolStripMenuItem_Click(object sender, EventArgs e) { this.Hide(); frmActualizarProducto ac = new frmActualizarProducto(); ac.Show(); } } }
Ahora nos vamos al formulario ActualizarProducto.csNos vamos al cuadro de herramienta y selecionamos un MenuStrip y lo nombramos Opciones y le agregamos:
- Agregar Producto
- Eliminar Producto
- Menú
Ahora agregamos un Label y en text escribimos Actualizar Producto
Adicionamos otro Label y en el texto escribimos Nombre del producto:
Añadimos un TextBox y lo nombramos txtProducto
Incluimos un Button en texto ponemos Buscar Producto y lo nombramos btnBuscar
Copiamos y pegamos en Button anterior, en texto ponemos Actualizar Producto y lo nombramos btnActualizarProducto
En el cuadro de herramientas seleccionamos un DataGridView en la flecha que aparece en la parte superior aparece unas opciones dejamos habilitada la opción Habilitar edición y lo nombramos dtgvProductos
Una vez ya diseñado nuestro formulario Hacemos doble click en Buscar Producto y escribimos el siguiente código.
using MySql.Data.MySqlClient;
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;
namespace GatoAbarrotero
{
public partial class frmActualizarProducto : Form
{
MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb");
public frmActualizarProducto()
{
InitializeComponent();
}
private void BtnBuscar_Click(object sender, EventArgs e)
{
try
{
conexion.Open();
string selectQuery = "SELECT * FROM producto WHERE nombre LIKE '%" + txtProducto.Text + "%' ";
MySqlCommand cmd = new MySqlCommand(selectQuery, conexion);
MySqlDataAdapter selecionnar = new MySqlDataAdapter();
selecionnar.SelectCommand = cmd;
DataTable datosProducto = new DataTable();
selecionnar.Fill(datosProducto);
dtgvProductos.DataSource = datosProducto;
conexion.Close();
btnActualizarProducto.Enabled = true;
}
catch
{
MessageBox.Show("Error al conectar");
}
}
}
}
Hacemos doble clic en el Button Actualizar Producto y escribimos lo siguiente:
using MySql.Data.MySqlClient;
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;
namespace GatoAbarrotero
{
public partial class frmActualizarProducto : Form
{
MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb");
public frmActualizarProducto()
{
InitializeComponent();
}
private void BtnBuscar_Click(object sender, EventArgs e)
{
try
{
conexion.Open();
string selectQuery = "SELECT * FROM producto WHERE nombre LIKE '%" + txtProducto.Text + "%' ";
MySqlCommand cmd = new MySqlCommand(selectQuery, conexion);
MySqlDataAdapter selecionnar = new MySqlDataAdapter();
selecionnar.SelectCommand = cmd;
DataTable datosProducto = new DataTable();
selecionnar.Fill(datosProducto);
dtgvProductos.DataSource = datosProducto;
conexion.Close();
btnActualizarProducto.Enabled = true;
}
catch
{
MessageBox.Show("Error al conectar");
}
}
private void BtnActualizarProducto_Click(object sender, EventArgs e)
{
if (dtgvProductos.CurrentRow == null)
{
MessageBox.Show("Selecionar fila");
return;
}
int idProducto = Convert.ToInt32(dtgvProductos.CurrentRow.Cells["idProducto"].Value);
string codigoBarras = Convert.ToString(dtgvProductos.CurrentRow.Cells["codigoBarras"].Value);
string nombre = Convert.ToString(dtgvProductos.CurrentRow.Cells["nombre"].Value);
double precio = Convert.ToDouble(dtgvProductos.CurrentRow.Cells["precio"].Value);
try
{
conexion.Open();
string actualizarQuery = "UPDATE producto SET codigoBarras = @codigoBarras, nombre = @nombre , precio = @precio " +
"WHERE idProducto = @idProducto ";
MySqlCommand cmd = new MySqlCommand(actualizarQuery, conexion);
cmd.Parameters.AddWithValue("@idProducto", idProducto);
cmd.Parameters.AddWithValue("@codigoBarras", codigoBarras);
cmd.Parameters.AddWithValue("@nombre", nombre);
cmd.Parameters.AddWithValue("@precio", precio);
cmd.ExecuteNonQuery();
MessageBox.Show("Actualización Exitosa");
dtgvProductos.Update();
conexion.Close();
}
catch
{
MessageBox.Show("Actualización fallida");
}
}
}
}
Ahora nos vamos al menú opciones y hacemos doble click en la opcion Agregar Producto
using MySql.Data.MySqlClient;
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;
namespace GatoAbarrotero
{
public partial class frmActualizarProducto : Form
{
MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb");
public frmActualizarProducto()
{
InitializeComponent();
}
private void BtnBuscar_Click(object sender, EventArgs e)
{
try
{
conexion.Open();
string selectQuery = "SELECT * FROM producto WHERE nombre LIKE '%" + txtProducto.Text + "%' ";
MySqlCommand cmd = new MySqlCommand(selectQuery, conexion);
MySqlDataAdapter selecionnar = new MySqlDataAdapter();
selecionnar.SelectCommand = cmd;
DataTable datosProducto = new DataTable();
selecionnar.Fill(datosProducto);
dtgvProductos.DataSource = datosProducto;
conexion.Close();
btnActualizarProducto.Enabled = true;
}
catch
{
MessageBox.Show("Error al conectar");
}
}
private void BtnActualizarProducto_Click(object sender, EventArgs e)
{
if (dtgvProductos.CurrentRow == null)
{
MessageBox.Show("Selecionar fila");
return;
}
int idProducto = Convert.ToInt32(dtgvProductos.CurrentRow.Cells["idProducto"].Value);
string codigoBarras = Convert.ToString(dtgvProductos.CurrentRow.Cells["codigoBarras"].Value);
string nombre = Convert.ToString(dtgvProductos.CurrentRow.Cells["nombre"].Value);
double precio = Convert.ToDouble(dtgvProductos.CurrentRow.Cells["precio"].Value);
try
{
conexion.Open();
string actualizarQuery = "UPDATE producto SET codigoBarras = @codigoBarras, nombre = @nombre , precio = @precio " +
"WHERE idProducto = @idProducto ";
MySqlCommand cmd = new MySqlCommand(actualizarQuery, conexion);
cmd.Parameters.AddWithValue("@idProducto", idProducto);
cmd.Parameters.AddWithValue("@codigoBarras", codigoBarras);
cmd.Parameters.AddWithValue("@nombre", nombre);
cmd.Parameters.AddWithValue("@precio", precio);
cmd.ExecuteNonQuery();
MessageBox.Show("Actualización Exitosa");
dtgvProductos.Update();
conexion.Close();
}
catch
{
MessageBox.Show("Actualización fallida");
}
}
private void AgregarProductoToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
frmAgregarProducto ap = new frmAgregarProducto();
ap.Show();
}
}
}
Seleccionamos del menú opciones la opción Eliminar Producto
using MySql.Data.MySqlClient;
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;
namespace GatoAbarrotero
{
public partial class frmActualizarProducto : Form
{
MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb");
public frmActualizarProducto()
{
InitializeComponent();
}
private void BtnBuscar_Click(object sender, EventArgs e)
{
try
{
conexion.Open();
string selectQuery = "SELECT * FROM producto WHERE nombre LIKE '%" + txtProducto.Text + "%' ";
MySqlCommand cmd = new MySqlCommand(selectQuery, conexion);
MySqlDataAdapter selecionnar = new MySqlDataAdapter();
selecionnar.SelectCommand = cmd;
DataTable datosProducto = new DataTable();
selecionnar.Fill(datosProducto);
dtgvProductos.DataSource = datosProducto;
conexion.Close();
btnActualizarProducto.Enabled = true;
}
catch
{
MessageBox.Show("Error al conectar");
}
}
private void BtnActualizarProducto_Click(object sender, EventArgs e)
{
if (dtgvProductos.CurrentRow == null)
{
MessageBox.Show("Selecionar fila");
return;
}
int idProducto = Convert.ToInt32(dtgvProductos.CurrentRow.Cells["idProducto"].Value);
string codigoBarras = Convert.ToString(dtgvProductos.CurrentRow.Cells["codigoBarras"].Value);
string nombre = Convert.ToString(dtgvProductos.CurrentRow.Cells["nombre"].Value);
double precio = Convert.ToDouble(dtgvProductos.CurrentRow.Cells["precio"].Value);
try
{
conexion.Open();
string actualizarQuery = "UPDATE producto SET codigoBarras = @codigoBarras, nombre = @nombre , precio = @precio " +
"WHERE idProducto = @idProducto ";
MySqlCommand cmd = new MySqlCommand(actualizarQuery, conexion);
cmd.Parameters.AddWithValue("@idProducto", idProducto);
cmd.Parameters.AddWithValue("@codigoBarras", codigoBarras);
cmd.Parameters.AddWithValue("@nombre", nombre);
cmd.Parameters.AddWithValue("@precio", precio);
cmd.ExecuteNonQuery();
MessageBox.Show("Actualización Exitosa");
dtgvProductos.Update();
conexion.Close();
}
catch
{
MessageBox.Show("Actualización fallida");
}
}
private void AgregarProductoToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
frmAgregarProducto ap = new frmAgregarProducto();
ap.Show();
}
private void EliminarProductoToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
frmEliminarProducto ep = new frmEliminarProducto();
ep.Show();
}
}
}
Por último seleccionamos del menú opciones la opción de Menú
using MySql.Data.MySqlClient;
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;
namespace GatoAbarrotero
{
public partial class frmActualizarProducto : Form
{
MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb");
public frmActualizarProducto()
{
InitializeComponent();
}
private void BtnBuscar_Click(object sender, EventArgs e)
{
try
{
conexion.Open();
string selectQuery = "SELECT * FROM producto WHERE nombre LIKE '%" + txtProducto.Text + "%' ";
MySqlCommand cmd = new MySqlCommand(selectQuery, conexion);
MySqlDataAdapter selecionnar = new MySqlDataAdapter();
selecionnar.SelectCommand = cmd;
DataTable datosProducto = new DataTable();
selecionnar.Fill(datosProducto);
dtgvProductos.DataSource = datosProducto;
conexion.Close();
btnActualizarProducto.Enabled = true;
}
catch
{
MessageBox.Show("Error al conectar");
}
}
private void BtnActualizarProducto_Click(object sender, EventArgs e)
{
if (dtgvProductos.CurrentRow == null)
{
MessageBox.Show("Selecionar fila");
return;
}
int idProducto = Convert.ToInt32(dtgvProductos.CurrentRow.Cells["idProducto"].Value);
string codigoBarras = Convert.ToString(dtgvProductos.CurrentRow.Cells["codigoBarras"].Value);
string nombre = Convert.ToString(dtgvProductos.CurrentRow.Cells["nombre"].Value);
double precio = Convert.ToDouble(dtgvProductos.CurrentRow.Cells["precio"].Value);
try
{
conexion.Open();
string actualizarQuery = "UPDATE producto SET codigoBarras = @codigoBarras, nombre = @nombre , precio = @precio " +
"WHERE idProducto = @idProducto ";
MySqlCommand cmd = new MySqlCommand(actualizarQuery, conexion);
cmd.Parameters.AddWithValue("@idProducto", idProducto);
cmd.Parameters.AddWithValue("@codigoBarras", codigoBarras);
cmd.Parameters.AddWithValue("@nombre", nombre);
cmd.Parameters.AddWithValue("@precio", precio);
cmd.ExecuteNonQuery();
MessageBox.Show("Actualización Exitosa");
dtgvProductos.Update();
conexion.Close();
}
catch
{
MessageBox.Show("Actualización fallida");
}
}
private void AgregarProductoToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
frmAgregarProducto ap = new frmAgregarProducto();
ap.Show();
}
private void EliminarProductoToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
frmEliminarProducto ep = new frmEliminarProducto();
ep.Show();
}
private void MenúToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
frmMenu menu = new frmMenu();
menu.Show();
}
}
}
Probamos el ejemplo
Buscamos el un producto en este caso seria coca y presionamos Buscar Producto
Selecionamos la columna que dice precio y hacemos click y cambiamos el precio a 14 Presionamos Actualizar Producto
Le damos Aceptar y hasta aqui termina la parte de Productos.