Visual CSharp .NET - Validaciones

 
Vista:

Validaciones

Publicado por Monica Villamarin (4 intervenciones) el 24/06/2009 03:18:30
hola por favor si alguien me puede ayudar estoy haciendo una interfaz de mantenimiento de una tabla empleado con todos sus datos pero tengo problemas al momento de validar la cedula por que el profe dijo que hay que validar primero para que se ingrese solo numeros.... eso ya tengo ahora me falta que valide mediante el digito verificador que como se hace en el registro civil................ otra cosa que no me esta funcionando es que al momento de actualizar no actualiza por que no se pero creo que no le estoy poniendo bien la cadena por que tengo que actualizar datos de un groupox que tiene checkbox.....

Por fa si alguien me puede ayudar le agradeceria
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Validaciones

Publicado por roger (77 intervenciones) el 24/06/2009 18:24:12
cual seria la validacion con el digito verificador, como debe ser este numero?, y puedes poner algo del codigo con el que actualizas, y si te sale algun error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayudame con esto por fa

Publicado por Monica Villamarin (4 intervenciones) el 02/07/2009 02:36:15
mil gracias pero encontre un tipo de validacion que si me sirvio por fa si puede ayudame con esto..............
private void muestraempleado(DataSet dtemp)
{
txtcedula.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_cedula"].ToString();
txtapellido.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_apellido"].ToString();
txtnombre.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_nombre"].ToString();
txtdireccion.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_direccion"].ToString();
txtfono.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_telefono"].ToString();
txtmail.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_mail"].ToString();
dtpfecnacimiento.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_fecnacimiento"].ToString();
// rbactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
//rbinactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
txtsueldo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_sueldo"].ToString();
/*if (rbactivo.Checked)
{
rbactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
}
else
{
if (rbinactivo.Checked)
{
rbinactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
}
}*/
}
private void btnbusca_Click(object sender, EventArgs e)
{
Operaciones objem = new Operaciones();
dtemp = objem.Buscaempleado(txtcedula.Text.Trim());
if (dtemp.Tables["tablaempleado"].Rows.Count > 0)
{
MessageBox.Show("Datos encontrados", "Aviso");
muestraempleado(dtemp);
if (rbactivo.Checked)
{
rbactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
}
else
{
rbinactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
}
}
else
{
MessageBox.Show("Datos no encontrados", "Error");

}
este codigo es para buscar los datos del empleado por cedula, me muestra los datos pero lo que no estoy segura y no he podido encontrar es que si esta bien como estpy mostrando los datos de los radio buton........... me parece no se si será me esta dando un problema al momento que quiero actualizar datos........... la idea es que si esta el empleado en activo y quiero ponerlo en inactivo se actualice en la base de datos.

//AQUI TE PONGO EL CODIGO DE LA PROGRAMACION QUE ESTA EN LA CLASE LA CADENA QUE ESTOY ENVIANDO A LA BASE DE DATOS PARA PODER ACTUALIZAR.

public Boolean ActualizaEmpleado(string cedu, string estado)
{
//string fecha1 = (string)fechnac.ToShortDateString();
cnn = objt.conectar();
try
{
cnn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}

string cadacemp = "update Empleado set emp_estado" + "'" + estado + "'" + "where emp_cedu=" + cedu;
cmd = new SqlCommand(cadacemp, cnn);
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
return true;

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayudame con esto por fa

Publicado por m (66 intervenciones) el 02/07/2009 19:26:29
Hola, pues para cargar el estado del cliente:
//lo que debes afectar es si el boton esta seleccionado el texto no debes afectarlo.
//intenta esto:

//este codigo trata de ser explicito digo puede implementarse para escribir menos
//codigo pero trate de escribirlo para su facil comprension.

rbinactivo.Checked=Convert.Tobool(dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString());
if(rbinactivo==true)
{
rbactivo.Checked=false;
}
else
{
rbactivo.Checked=true;
}

//Nota:

//en el query parece que te falta un '=' y trata de separar el where; pon un punto de //interrupcion en este paso para que verifiques que la cadena del query esta bien //formada ,

string cadacemp = "update Empleado set emp_estado= " + " '" + estado + " '" + " where emp_cedu=" + cedu;

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validaciones

Publicado por m (66 intervenciones) el 24/06/2009 21:22:28
Hola,
debes validar todo el registro de datos, es decir validas
un campo de manera individual.

Por ejemplo supongamos que tenemos Nombre, Cedula, Telefono.
//aqui pongo tres parametros pero podria ser solo una clase donde
//tu definas las propiedades Usuario { Nombre, Cedula, Telefono}

///****pseudocodigo

private void muestraDato()
{
if (ValidaResistro("Fulano","0246","48-8878-89")==true)
{
setRegistro(("Fulano","0246","48-8878-89");
}
}

private void setRegistro()
{
txtNombre.Text=Nombre;
txtCeudula.Text=Cedula;
txtTelefono.Text=Telefono;
}

private bool validaRegistro(string Nombre, string Cedula, strTelefono)
{
bool esValido=true;
//Nombre
esValido=esValido && (Nombre!=string.empty);
//Cedula
if( int.Tryparse(cedula)) //primero validamos que sea numero
{//verificamos el ultimo digito suponiendo que es la suma
char[] arrayCedula=cedula.toChararray();
if(Convert.ToInt( arrayCedula[3] )!=(int)arrayCedula[0]+(int)arrayCedula[0]+(int)arrayCedula[0])
{
esValido=false;
}
}
else
{
esValido=false;
}
//Verificamos telefono.
//aqui el codigo para verificar el telefono.

return esValido

}

esta es mi sugerencia espero te sirva.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como trabajo con radio button

Publicado por Monica (4 intervenciones) el 02/07/2009 02:38:33
mil gracias pero encontre un tipo de validacion que si me sirvio por fa si puede ayudame con esto..............
private void muestraempleado(DataSet dtemp)
{
txtcedula.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_cedula"].ToString();
txtapellido.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_apellido"].ToString();
txtnombre.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_nombre"].ToString();
txtdireccion.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_direccion"].ToString();
txtfono.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_telefono"].ToString();
txtmail.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_mail"].ToString();
dtpfecnacimiento.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_fecnacimiento"].ToString();
// rbactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
//rbinactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
txtsueldo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_sueldo"].ToString();
/*if (rbactivo.Checked)
{
rbactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
}
else
{
if (rbinactivo.Checked)
{
rbinactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
}
}*/
}
private void btnbusca_Click(object sender, EventArgs e)
{
Operaciones objem = new Operaciones();
dtemp = objem.Buscaempleado(txtcedula.Text.Trim());
if (dtemp.Tables["tablaempleado"].Rows.Count > 0)
{
MessageBox.Show("Datos encontrados", "Aviso");
muestraempleado(dtemp);
if (rbactivo.Checked)
{
rbactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
}
else
{
rbinactivo.Text = dtemp.Tables["tablaempleado"].Rows[0]["emp_estado"].ToString();
}
}
else
{
MessageBox.Show("Datos no encontrados", "Error");

}
este codigo es para buscar los datos del empleado por cedula, me muestra los datos pero lo que no estoy segura y no he podido encontrar es que si esta bien como estpy mostrando los datos de los radio buton........... me parece no se si será me esta dando un problema al momento que quiero actualizar datos........... la idea es que si esta el empleado en activo y quiero ponerlo en inactivo se actualice en la base de datos.

//AQUI TE PONGO EL CODIGO DE LA PROGRAMACION QUE ESTA EN LA CLASE LA CADENA QUE ESTOY ENVIANDO A LA BASE DE DATOS PARA PODER ACTUALIZAR.

public Boolean ActualizaEmpleado(string cedu, string estado)
{
//string fecha1 = (string)fechnac.ToShortDateString();
cnn = objt.conectar();
try
{
cnn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}

string cadacemp = "update Empleado set emp_estado" + "'" + estado + "'" + "where emp_cedu=" + cedu;
cmd = new SqlCommand(cadacemp, cnn);
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
return true;

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

datagrid

Publicado por Monica (4 intervenciones) el 14/07/2009 02:41:16
hola por fa me puedes ayudar necesito hacer una factura y quiero saber como programar los datagridview, por fa si puedes ayudame tengo estos campos: NºFactura,Fecha,Cliente(con un combobox elijo cedula o ruc y aparece nombre del cliente), anular fac con checbox, formade pago; todos estos parametros como cabecera de factura, viene el data grid donde va el codigo, descripcion, pv, cantidad, subtotal, ademas tiene que ir con un autonumerico el numero de item que toca, y el numero de factura a la que pertenece.

Lo que pertenece a la cabecera si creo que puedo sacarlo pero todo lo que es datagrid ayudame por que dice el profe que cuando se haga clic dentro del datagrid debe solo dejar poner el codigo y la cantidad, lo demas aparece solo

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validaciones

Publicado por patito lucas (2 intervenciones) el 23/04/2010 06:19:13
public class Cedula
{
public bool res;
public string num_cedula;
public Cedula(string num)
{
num_cedula=num;
}
public void comprobar_num()
{
int suma=0;
int j=0;
bool a=true;
int x=0;
for(int i=0;i<9;i++)
{
j=Convert.ToInt16(this.num_cedula[i].ToString());
if(a==true)
{
x=j*2;
if(x>9)
{
x=1+(x%10);
}
a=false;
}
else
{
x=j*1;
a=true;
}
suma+=x;

}
x=suma%10;
j=Convert.ToInt32(this.num_cedula[9].ToString());

if(x==0)
{
if(x==j)
{
res=true;
}
}
else
{
x=(suma-x)+10;
if(j==(x-suma))
{
res=true;

}
else
{
res=false;

}
}
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validaciones

Publicado por patito lucas (2 intervenciones) el 23/04/2010 06:19:51
public class Cedula
{
public bool res;
public string num_cedula;
public Cedula(string num)
{
num_cedula=num;
}
public void comprobar_num()
{
int suma=0;
int j=0;
bool a=true;
int x=0;
for(int i=0;i<9;i++)
{
j=Convert.ToInt16(this.num_cedula[i].ToString());
if(a==true)
{
x=j*2;
if(x>9)
{
x=1+(x%10);
}
a=false;
}
else
{
x=j*1;
a=true;
}
suma+=x;

}
x=suma%10;
j=Convert.ToInt32(this.num_cedula[9].ToString());

if(x==0)
{
if(x==j)
{
res=true;
}
}
else
{
x=(suma-x)+10;
if(j==(x-suma))
{
res=true;

}
else
{
res=false;

}
}
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar