jueves, 4 de diciembre de 2014

Problema 4:Modificar o eliminar datos de una BD

Problema 4:Modificar o eliminar datos de una BD
Este programa sirve para visualizar los datos de una base de datos en un textbox y modificar su contenido
A este programa se la agrega esta libreria
using System.Data.OleDb;
Igual con el nombre de BD HOTEL
Codigo

public class usuario
{
public string nombre;
public string contraseña:
public string nombredepto;
}
class conexion
{
static string cadenaconexion;
static OleDbConnection conec;
static OleDbDataAdapter add; 
public static void conectar()
{
cadenaconexion=@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @AppDomain.CurrentDomain.BaseDirectory + @"HOTEl.accdb;Persist Security Info=False"
conec = new OleDbConnection(cadenaconexion);
conec.Open();
}
public static void desconectar()
{
conec.Close();
}
public static usuario consultar (string busca)
{
string consulta="select Empleados.CLAVE,Empleados.Usuario,Empleados.Contraseña,Departamentos.ClaveDepa from Departamentos inner join Empleados ON Departamentos.ClaveDepa=Empleados.ClaveDepa where Empleados.CLAVE='"+ busca + "';";
OleDbDataAdapter add= new OleDbDataAdapter (consulta, conec);
DataSet Mydataset = new DataSet();
add.Fill(Mydataset);
if (Mydataset.Tables[0].Rows.Count > 0)
{
DataRow campo= Mydataset.Tables[0].Rows[0];
usuario departamento= new usuario();
departamento.nombre=campo["Usuario"].ToString();
departamento.contraseña=campo["Contraseña"].ToString();
departamento.nombredepto=campo["ClaveDepa"].ToString();
return departamento;
}
else
{
return null;
}
}
public static void delete (string borrar)
{

OleDbCommand delete=new OleDbCommand("delete from Empleados where CLAVE='"+ borrar +"';", conec);
OleDbDataAdapter commanddelete=new OleDbDataAdapter(delete);
commanddelete.DeleteCommand=delete;
commanddelete.DeleteCommand.ExecuteNonQuery();
}
}
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button3_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox1.Focus();
groupBox1.Visible=false;
button1.Visible=false;
button3.Visible=false;
}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
groupBox1.Visible = true;
if (e.KeyChar==(char)13)
{
conexion.conectar();
usuario otro=new usuario();
otro=conexion.consultar(textBox1.Text);
if (otro==null)
{
MessageBox.Show("La clave del usuario no existe","Revisa tu clave",MessageBoxButtons.OK,MessageBoxIcon.Warning);
textBox1.Clear();
textBox1.Focus();
}
else
{
groupBox1.Visible=true;
textBox2.Text=otro.nombre;
textBox3.Text=otro.contraseña;
textBox4.Text=otro.nombredepto;
button1.Visible=true;
button3.Visible=true;
}
}
}

private void button1_Click(object sender, EventArgs e)
{
DialogResult si;
si=MessageBox.Show("¿Seguro que desea borrar a " + textBox2.Text + "de la base de datos?","Borrar",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (si==DialogResult.Yes)
{
conexion.delete(textBox1.Text);
MessageBox.Show("Accion completada","Listo",MessageBoxButtons.OK,MessageBoxIcon.Question);
}
}

private void button2_Click(object sender, EventArgs e)
{
conexion.desconectar();
DialogResult res;
res = MessageBox.Show("¿Esta realmente seguro que desea salir?", "¿Salir?", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (res == DialogResult.Yes)
{
Application.Exit();
}
}

}
}

Rejilla Conexión

Rejilla Conexión

Se realizo un programa el cual tenia que conectar a una base de datos, y mostrarla con DataGridView, mostrando los campos y registros que tú eligieras.
 - Código -
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.OleDb;

namespace Rejilla_Conexion
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        class Base
        {

            static string CadenaConexion;
            static OleDbConnection Conex;
            static OleDbDataAdapter Adaptador;
            static OleDbCommandBuilder Constructor;
            static DataTable Tabla;
            static BindingSource Fuente;
     

            public static void Conectar ()
            {
                CadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @AppDomain.CurrentDomain.BaseDirectory + @"/Hotelera.accdb;Persist Security info=false";
                Conex = new OleDbConnection(CadenaConexion);
                Conex.Open();
            }
       public static void Desconectar ()
            {
                Conex.Close();
            }
       public static void Consultar(string tabla, string campos, string orden)
       {
           string Consulta = " select " + campos + " from " + tabla + " order by " + orden + ";";
           Adaptador = new OleDbDataAdapter(Consulta, CadenaConexion);
           Constructor = new OleDbCommandBuilder(Adaptador);
           Tabla = new DataTable(tabla);
           Adaptador.Fill(Tabla);
           Fuente = new BindingSource();
           Fuente.DataSource = Tabla;
            }
            public static BindingSource source
            {
                get
                {
                    return Fuente;
                }
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Base.Conectar();
            Base.Consultar("Habitaciones", " * ", "Costo");
            DGV.DataSource = Base.source;
            Base.Desconectar();
        }
    }

}

Ya ejecutándolo tendría que lucir así.