EjEmPLo C# III

20 05 2009

holas a todos , ak posteando nuevamente las parte 3 del sistema. Ahora tok la parte de doctores XD…
5

Empesamos cn la clase perteneciente ha Doctores en la cual puedes modificar , eliminar, buskar, ect…
ventanaDoctores.cs


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

namespace DoctorPacientesBd{
public partial class ventanapacientes : Form{
static Conexionbd con = new Conexionbd();
public int ds = 0;
public ventanapacientes() {
InitializeComponent();
}
void limpiar(){
textdni.Text = genCodigo();
textname.Text = "";
textap.Text = "";
textdir.Text = "";
textcelu.Text = "";
textfono.Text = "";
}
public Boolean verifivarVAcios(){
if ( textname.Text == "" || textap.Text == "" || textdir.Text == "")
return false;
else
return true;

}
public void ValidarTxt(System.Windows.Forms.KeyPressEventArgs a){
if ((a.KeyChar >= 65 && a.KeyChar = 97 && a.KeyChar = 65 && a.KeyChar = 97 && a.KeyChar <= 122) || (a.KeyChar == 32) || (a.KeyChar == 8))

a.Handled = true;

else
a.Handled = false;
}
private void textname_KeyPress(object sender, KeyPressEventArgs e){
ValidarTxt(e);
}
private void textap_KeyPress(object sender, KeyPressEventArgs e){
ValidarTxt(e);
}
private void textcelu_KeyPress(object sender, KeyPressEventArgs e)
{
ValidarNumer(e);
}
private void textfono_KeyPress(object sender, KeyPressEventArgs e){
ValidarNumer(e);
}
public void retunDat(String f) {
String sent;
sent = "SELECT * FROM `paciente` WHERE idPaciente='" + f + "';";
object[,]g=con.ExecuteReader(sent);
textdni.Text=g[0,0].ToString();
textname.Text = g[0, 1].ToString();
textap.Text = g[0, 2].ToString();
returFecha(g[0,3].ToString());
textdir.Text = g[0, 4].ToString();
textfono.Text = g[0, 5].ToString();
textcelu.Text = g[0, 6].ToString();
}
void returFecha(String g) {
int dia, ao, mes;

ao = UInt16.Parse(g.Substring(6, 4));
mes = UInt16.Parse(g.Substring(3, 2));
dia = UInt16.Parse(g.Substring(0, 2));
dateTimePicker1.Value = new DateTime(ao, mes, dia);
}

String ObFecha() {
String f,d, m, a, fcha;
f = dateTimePicker1.Value.ToString();
d = f.Substring(0, 2);
m = f.Substring(3, 2);
a = f.Substring(6, 4);
fcha=a+"/"+m+"/"+d;

return fcha;
}
String genCodigo() {
String cod="",codb,consulta;
int co, i;
consulta = "SELECT idPaciente FROM `paciente` ORDER BY idPaciente DESC LIMIT 0,1;";
object[,] f = con.ExecuteReader(consulta);
codb = f[0, 0].ToString().Substring(1, 4);
co = UInt16.Parse(codb);
i = co;
i++;

if (i = 10) {
cod = "P00" + i.ToString();
}
else
if (i >= 100) {
cod = "P0" + i.ToString();
}
else
if (i >= 1000) {
cod = "P0" + i.ToString();
}
return cod;
}


void desGuardar()
{
guardar.Enabled = false;
}
void avilitarGuardar()
{
guardar.Enabled = true;
}

void desEliminar()
{
eliminar.Enabled = false;
modifikr.Enabled = false;
buscar.Enabled = false;
}
void aviEliminar()
{
eliminar.Enabled = true;
modifikr.Enabled = true;
buscar.Enabled = true;
}
//***************************************************************************************
private void ventanapacientes_Load(object sender, EventArgs e){
textdni.Text= genCodigo();
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = " dd / MM / yyyy";

}
private void guardar_Click(object sender, EventArgs e){
String sentn;
if (verifivarVAcios()){
sentn = "INSERT INTO paciente values (" + "'" + textdni.Text + "'" + "," + "'" + textname.Text + "'" + "," + "'" + textap.Text + "'" + "," + "'" + ObFecha().Trim() + "'" + "," + "'" + textdir.Text + "'" + "," + "'" + textfono.Text + "'" + "," + "'" + textcelu.Text + "'" + ")";
con.ExecuteNonQuery(sentn);
limpiar();
}
else
MessageBox.Show("Ingrese todos los campos Obligatorios","Alerta");
}
private void salir_Click(object sender, EventArgs e){
this.Dispose();
this.DestroyHandle();
}
private void modifikr_Click(object sender, EventArgs e){
String snt;

if (verifivarVAcios()) {

snt = "UPDATE paciente SET nombre=" + "'" + textname.Text + "'" + " ,apeido=" + "'" + textap.Text + "'"+" ,fechnaci="+"'"+ObFecha()+"'"+ " ,direcion=" + "'" + textdir.Text + "'" + " ,fonofijo=" + "'" + textfono.Text+ "'" + " ,celu=" + "'" + textcelu.Text + "' WHERE idPaciente='"+ textdni.Text + "';";
con.ExecuteNonQuery(snt);
limpiar();
textdni.Text = genCodigo();
}
else
MessageBox.Show("Ingrese todos los campos Obligatorios", "Alerta");
}
private void eliminar_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Desea eliminar ?", "Alerta", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) {
String sent;
sent = "DELETE FROM paciente WHERE idPaciente=" + "'" + textdni.Text.Trim() + "';";
con.ExecuteNonQuery(sent);
limpiar();
}
}
private void buscar_Click(object sender, EventArgs e) {
actuaPacientes p = new actuaPacientes();
p.Show();
}
private void nuevo_Click(object sender, EventArgs e){
limpiar();
}
private void primero_Click(object sender, EventArgs e) {
int i = 0;
ds = i;
retunDat1(ds);
}
public void retunDat1(int i){
String sent;
sent = "SELECT * FROM `paciente` LIMIT "+i+",1 ;";
object[,] g = con.ExecuteReader(sent);
textdni.Text = g[0, 0].ToString();
textname.Text = g[0, 1].ToString();
textap.Text = g[0, 2].ToString();
returFecha(g[0, 3].ToString());
textdir.Text = g[0, 4].ToString();
textfono.Text = g[0, 5].ToString();
textcelu.Text = g[0, 6].ToString();
}
private void ultimo_Click(object sender, EventArgs e){
String sent = "SELECT count( idPaciente )FROM `paciente`;";
int j;
object[,] x = con.ExecuteReader(sent);
j = UInt16.Parse(x[0, 0].ToString()) - 1;
ds = j;
retunDat1(j);
}
private void antesultimo_Click(object sender, EventArgs e){
String sent = "SELECT count( idPaciente )FROM `paciente`;";
int j;
object[,] x = con.ExecuteReader(sent);
j = UInt16.Parse(x[0, 0].ToString()) - 1;
if (ds != j){
ds++;
retunDat1(ds);
}
}
private void antesprimero_Click(object sender, EventArgs e) {
if (ds != 0){
ds--;
retunDat1(ds);
}
}
}
}

AHora la parte de actualizar doctores , en la cual podemos modificar, eliminar, etc…. XD……..actuaDoctores.cs
6

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

namespace DoctorPacientesBd
{
public partial class actuaDoctores : Form
{
static Conexionbd con = new Conexionbd();
public actuaDoctores()
{
InitializeComponent();

}

private void actuaDoctores_Load(object sender, EventArgs e)
{
object[,] especi = con.ExecuteReader("SELECT especialidad FROM especialidad order by especialidad desc;");
if (con.rows != 0)
{
for (int i = 0; i < con.rows; i++)
{
comboBox1.Items.Add(especi[i, 0]);
}
comboBox1.SelectedIndex = 0;
}
else
{
MessageBox.Show("Error de Sistema_ No se puede identificar el Tipo De Cuenta !", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}

String sent;
sent = "SELECT `idDoctor`,`name`,`apeido`,`diercion`,`especialidad`,`turno`,`celu`,`fonofijo` FROM `doctor` LEFT JOIN `especialidad` ON `doctor`.`Especialidad_idEspecialidad` = `especialidad`.`idEspecialidad` ;";
object[,] g = con.ExecuteReader(sent);
imprimirBusqueda(g, dataGridView1);
}

private void button1_Click(object sender, EventArgs e)
{
String sent = "SELECT `idDoctor`,`name`,`apeido`,`especialidad`,`turno`,`diercion`,`celu`,`fonofijo` FROM `doctor` LEFT JOIN `doctorPacientes`.`especialidad` ON `doctor`.`Especialidad_idEspecialidad` = `especialidad`.`idEspecialidad` ";
if (radioButton1.Checked)
{
if (textBox1.Text != "")
{
textBox2.Text = "";
sent += " WHERE idDoctor='" + textBox1.Text + "'";
}
else
MessageBox.Show("Texto vacio","mensaje");
}
if (radioButton2.Checked)
{
textBox1.Text = "";
if (textBox2.Text != "") {
sent += " WHERE apeido='" + textBox2.Text + "'";

}
else
MessageBox.Show("Texto vacio", "mensaje");
}
if (radioButton3.Checked)
{
textBox1.Text = "";
textBox2.Text = "";
if (comboBox1.Text != "") {
sent += " WHERE especialidad.especialidad='"+comboBox1.Text+"'";
}
else
MessageBox.Show("Texto vacio", "mensaje");
}
object[,] aux = null;
aux = con.ExecuteReader(sent);

if (aux != null)
imprimirBusqueda(aux, dataGridView1);
}
void imprimirBusqueda(object[,] aux, DataGridView dgv)
{

dgv.Rows.Clear();
dgv.Refresh();
for (int i = 0; i < con.rows; i++)
{
dgv.Rows.Add();
for (int j = 0; j = 0 && e.RowIndex >= 0 && e.ColumnIndex == 0)
{
String s = dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();
vd.Show();
vd.retunDat(s);
}
}
}

cn esto termina la parte 3, jiiji el dia sabado publicare la parte de consultas,😄 , no olviden de hacer sus preguntas


Acciones

Information

6 responses

16 06 2009
juan

Hola que mas, me parece muy buena tu guia, pero tengo una duda. como haces para cerrar el ultimo formulario hijo que usas.

gracias

21 06 2009
albeferz

holas juan. La forma de cerrar el formilario es haciendo un clik en la imagen de la puertita abierta q esta en el BindingNavigator prate baja y la ultima de tu dercha.. xD

14 07 2009
juan p

Hola albeferz, gracias por la respuesta:
Ya habia encontrado solución a mi problema, aca te la dejo, se puede usar para las paginas que no tienen el BindingNavigator:

//ESTE ES DESDE EL FORM PADRE
private void CerrarFormHijo()
{
if (MdiChildren.Length > 0)
{
// Cerrar la ventana hija que tiene el foco
// instanciamos un nuevo form
ActualForm = new Form();
// obtemos el formulario que esta activo
ActualForm = this.ActiveMdiChild;
// cerramos el formulario activo para no acumular ventanas
ActualForm.Close();
}
}

//DESDE EL FORM HIJO
private void CerrarFormHijo()
{
if (this.MdiParent.MdiChildren.Length > 0)
{
//el hijo en la posicion 0, ya que mi programa siempre
//mantiene un form hijo activo , de lo contrario haría un for.
this.MdiParent.MdiChildren[0].Close();
}
}

Saludos.

26 07 2009
albeferz

buen aporte … gracias, ahora solo me falta publicar las otras 2 partes del sistemita, pero no tengo mucho tiempo … pero ya las estare publicando en esta semana, voya a usar tu codigo ….xD salu2

15 10 2009
gabriel

hola espero y no sea tanta molesti solo quiero pedirte ayuda
es que estoy aciendo un sistema en c# co mysql y no puedo modificar empleados en el codigo de c# m podria ayudar

16 10 2009
albeferz

ya ps haber si t doy un poko de ayuda, pero yo trabajo cn el visual studio .net 2008. haber dime como hacemos para estar en contacto y si fueras de piura man seria xvr xD.. agraga mi correo beto_elangelito@hot….

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: