/*
* Created by SharpDevelop.
* User: Héctor
* Date: 11/06/2006
* Time: 21:52
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
namespace AppWTallerPuntoNet
{
///
/// Description of FDataGridView.
///
public partial class FDataGridView
{
public MySqlConnection conn;
public DataSet ds;
public MySqlDataAdapter da;
public bool lPrimeraCarga;
public FDataGridView()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void FConectar()
{
try
{
string myConnectionString;
myConnectionString = "server=localhost;"+"" +
"uid=root;" +
"pwd=;"+
"database=bdalmacen1;";
conn=new MySql.Data.MySqlClient.MySqlConnection();
conn.ConnectionString = myConnectionString;
conn.Open();
}
catch(MySqlException ex)
{
MessageBox.Show("Se produjo el siguiente error:"+ex.Message);
}
}
void FDataGridViewLoad(object sender, System.EventArgs e)
{
string cadena,cadenaUpdate,cadenaInsert,cadenaDelete;
FConectar();
ds = new DataSet();
cadena="SELECT productoid,pdescripcion,punidad,pprecio FROM Producto";
cadenaInsert="INSERT INTO Producto (productoid,pdescripcion,punidad,pprecio) "+
"VALUES (?cCodigo,?cDescrip,?cUnidad,?nPrecio)";
cadenaUpdate="UPDATE producto SET pdescripcion=?cDescrip, punidad=?cUnidad "+
"WHERE productoId=?cCodigo";
cadenaDelete="DELETE FROM Producto WHERE productoId=?cCodigo";
da=new MySqlDataAdapter(cadena ,conn);
//
// Sigue el InsertCommand para grabar las
// filas que se agreguen al DataSet
//
da.InsertCommand=new MySqlCommand(cadenaInsert,conn);
da.InsertCommand.Parameters.Add("?cCodigo",MySql.Data.MySqlClient.MySqlDbType.VarChar,5,"productoId");
da.InsertCommand.Parameters.Add("?cDescrip",MySql.Data.MySqlClient.MySqlDbType.VarChar,80,"pdescripcion");
da.InsertCommand.Parameters.Add("?cUnidad",MySql.Data.MySqlClient.MySqlDbType.VarChar,5,"punidad");
da.InsertCommand.Parameters.Add("?nPrecio",MySql.Data.MySqlClient.MySqlDbType.Decimal,7,"pprecio");
//
// Sigue : el UpdateCommand para grabar los
// cambios en las filas
//
da.UpdateCommand=new MySqlCommand(cadenaUpdate,conn);
da.UpdateCommand.Parameters.Add("?cDescrip",MySql.Data.MySqlClient.MySqlDbType.VarChar,80,"pdescripcion");
da.UpdateCommand.Parameters.Add("?cUnidad",MySql.Data.MySqlClient.MySqlDbType.VarChar,5,"punidad");
MySqlParameter parametro=da.UpdateCommand.Parameters.Add("?cCodigo",MySqlDbType.VarChar,5,"productoid");
parametro.SourceVersion=DataRowVersion.Original;
//
// Sigue : el DeleteCommand para grabar los
// eliminar filas
//
da.DeleteCommand=new MySqlCommand(cadenaDelete,conn);
da.DeleteCommand.Parameters.Add("?cCodigo",MySql.Data.MySqlClient.MySqlDbType.VarChar,5,"productoId");
//
//
lPrimeraCarga=true;
}
void Button1Click(object sender, System.EventArgs e)
{ DialogResult opcion=DialogResult.Yes;
if(lPrimeraCarga==false)
opcion=MessageBox.Show("Está usted seguro que desea cargar nuevamente los datos ?","Confirme", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if(opcion==DialogResult.Yes)
{ lPrimeraCarga=false;
ds.Clear(); // Limpia el dataSet,
// si es que ya contenìa datos
da.Fill(ds,"TabProductos");
dataGridView1.DataSource = ds;
dataGridView1.DataMember="TabProductos";
dataGridView1.Columns[0].ToolTipText="Este es el código";
dataGridView1.Columns[0].HeaderText="Código";
dataGridView1.Columns[0].Width=70;
dataGridView1.Columns[1].HeaderText="Descripción";
dataGridView1.Columns[1].Width=300;
dataGridView1.Columns[2].HeaderText="Unidades";
dataGridView1.Columns[2].HeaderText="Precio";
}
}
void BtnGuardarClick(object sender, System.EventArgs e)
{
//new ErrorProvider().SetError(dataGridView1,"Error");
if(MessageBox.Show("Está usted seguro que desea GRABAR todos los cambios realizados ?","Confirme", MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult.Yes)
{
try
{
da.Update(ds,"TabProductos");
MessageBox.Show("Se grabaron las modificaciones de los datos!");
}
catch(MySqlException ex)
{
MessageBox.Show("Se produjo el siguiente error :"+ex.Message);
}
}
}
void BtnEliminarClick(object sender, System.EventArgs e)
{
dataGridView1.Rows.Remove(dataGridView1.CurrentRow);
}
}
}
               (
geocities.com/es)