CODIGO DEL SISTEMA ABC DE DUOLINGO
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 MySql.Data.MySqlClient;// Librerias de
acceso a mysql :)
namespace Visual02
{
public partial class Form1 : Form
{
//Variable de
coneccion a mysql con los parametros necesarios
MySqlConnection Con = new MySqlConnection("data source=localhost;user id=root;password=;database=antares;");
//objeto de
ejecucion de consultas
MySqlCommand C;
//objeto de
acceso local a datos devueltos por consultas
MySqlDataReader R;
public Form1()
{
InitializeComponent();
}
private void
Form1_Load(object sender, EventArgs e)
{
Con.Open();//conectar con la base de datos
this.Text = Con.ServerVersion.ToString();
C = new MySqlCommand("select
id,castillo,categoria,ciudad from fortaleza", Con);
R = C.ExecuteReader();
while (R.Read())
{
listBox1.Items.Add(R[0].ToString() + "]
" +
R[1].ToString() + ' ' + R[2].ToString()
+ ' ' + R[3].ToString());
}
R.Close();
Con.Close();
}
private bool
NoExiste()
{
bool ok =true;
Con.Open();//conectar con la base de datos
this.Text = Con.ServerVersion.ToString();
string condicion = " castillo='"+A_Castillo.Text+//validar que no exista
"'
and categoria='"+A_Categoria+"' and ciudad='"+A_Ciudad+"'; ";
C = new MySqlCommand("select id from
fortaleza where "+condicion, Con);
R = C.ExecuteReader();
if (R.Read())
{
ok = false;
}
R.Close();
Con.Close();
return ok;
}
private void Alta()
{
Con.Open();//conectar con la base de datos
//metodo para
guardar un registro
string SQL = "insert into
FORTALEZA(castillo, categoria, ciudad,)" +
"
values('" + A_Castillo.Text + "','" +
A_Categoria.Text + "','" + A_Ciudad.Text + "');";//cadena de valores a insertar
try
{
C = new MySqlCommand(SQL, Con);//preparar comando
C.ExecuteNonQuery();//ejecutar consulta
MessageBox.Show("Alta efectuada", "Información",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception E)//si algo esta mal, extrar
error
{//mostrar
el error al usuario
MessageBox.Show("Ocurrio el siguiente error:\n" + E.Message);
}
Con.Close();
}
private bool Baja()
{
bool ok = false;
if (MessageBox.Show("¿Deseas eliminar
permanentemente el registro?", "Advertencia",
MessageBoxButtons.YesNo,
MessageBoxIcon.Information) == DialogResult.Yes)
{
Con.Open();//conectar con la base de datos
string condicion = " id=" + B_id.Text +"; ";
C = new MySqlCommand("delete from
fortaleza where " + condicion, Con);
C.ExecuteNonQuery();//NO DEVOLVER RESULTADO SOLO EJECUTAR
Con.Close();
ok = true;
}
return ok;
}
private bool Valida()
{//validamos que las cajas de texto obligatorias esten llenas
bool ok = true;//por defecto es valida
if (A_Castillo.Text == "")//falto poner castillo?
{
A_Castillo.Focus();//colocar el cursor
MessageBox.Show("Falta el Castillo","Informacion",MessageBoxButtons.OK,MessageBoxIcon.Information);
ok = false;//esto
devolvera al final false
}
else if
(A_Categoria.Text == "")
{
A_Categoria.Focus();
MessageBox.Show("Falta la Categoria", "Informacion",
MessageBoxButtons.OK, MessageBoxIcon.Information);
ok = false;//esto
devolvera al final false
}
else if (A_Ciudad.Text
== "")
{
A_Ciudad.Focus();
MessageBox.Show("Falta la ciudad", "Informacion",
MessageBoxButtons.OK, MessageBoxIcon.Information);
ok = false;//esto
devolvera al final false
}
return ok;//retornamos el estado final de
validacion
}
private void
button1_Click(object sender,
EventArgs e)
{
//divide y
venceras :)
if (Valida() == true)//se llenaron los campos?
if (NoExiste() == true)
Alta();//efectuar alta
else
MessageBox.Show("Ya existe ese registro", "Atención",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
else
MessageBox.Show("Faltaban datos", "Atención",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
private bool
ValidaId()
{
//validamos que las cajas de texto obligatorias esten llenas
//validamos que las cajas de texto obligatorias esten llenas
bool ok = true;//por defecto es valida
if (B_id.Text == "")//falto poner castillo?
{
B_id.Focus();//colocar el cursor
MessageBox.Show("Falta el id", "Información",
MessageBoxButtons.OK, MessageBoxIcon.Information);
ok = false;//esto
devolvera al final false
}
return ok;
}
private void
button2_Click(object sender,
EventArgs e)
{
//divide y
venceras :)
if (ValidaId() == true)//se llenaron los campos?
if (NoExiste() == false)
if (Baja())//verificamos la baja
MessageBox.Show("Se eliminó el registro", "Atención",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
else
MessageBox.Show("El registro sigue intacto, no ha sido eliminado", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
MessageBox.Show("No existe ese registro", "Atención", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
private void Llenar()
{
//obtener el id
string ID = listBox1.SelectedItem.ToString();//obtiene el elemento activo
ID = ID.Substring(0, ID.IndexOf(']') - 1);//cortar solo el id del elemento
//consulta para
obtener los datos en base al id
Con.Open();//conectar con la base de datos
this.Text = Con.ServerVersion.ToString();
string condicion = "id="+ID+"; ";
C = new MySqlCommand("select
id,castillo,categoria,ciudad from fortaleza where " + condicion, Con);
R = C.ExecuteReader();
if (R.Read())
{
C_Castillo.Text
=R[1].ToString();
C_Categoria.Text =
R[2].ToString();
C_Ciudad.Text =
R[3].ToString();
}
R.Close();
Con.Close();
C_id.Text = ID;
B_id.Text = ID;
}
private void
listBox1_SelectedValueChanged(object sender, EventArgs e)
{
}
private void
listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedItem != null)//es necesario saber que hay un
elemento activo
Llenar();//metodo para llenar cajas de texto
}
}
}
No hay comentarios.:
Publicar un comentario