• Domingo 19 de Mayo de 2024, 07:03

Autor Tema:  Actualizar Registro  (Leído 1465 veces)

alexis17

  • Miembro MUY activo
  • ***
  • Mensajes: 378
    • Ver Perfil
    • http://www.codigobasico.net
Actualizar Registro
« en: Domingo 11 de Noviembre de 2007, 17:16 »
0
hola buenos dias que tal
tenia una consulta para ver si me podrian dar unas ideas
estoy intentando actualizar una tabla se llama personal
tengo de llave primaria la cedula y un campo llamado contador que es autonumerico

con el update que le hago no me da problemas si intento actualizar otro campo que no sea la cedula, pero ahora analizando que pasaria si el usuario se equiboco cuando metio la cedula del personal y si la quiere cambiar no me lo permitira

con este
(ByVal idcedula As String, ByVal upnombre As String, ByVal upapellido As String) As Boolean

 comando.CommandText = "update personal set nombre = '" & upnombre & "', apellido = '" & upapellido & "' " & " where cedula = '" & idcedula & "'"

la idea es preguntar entonces por el contador pero como el contador no se , almenos que aga busqueda y me muestre el contador pero lo ponga como oculto  y asi sabra que esta actualizando esa fila

asi que no se que hacer en ese caso

o no se si alguien tenga una mejor idea

porque tengo tambien un problema parecido con otra tabla que se llama agenda

muestro los datos en un datagrid pero cuando hago el select muestro en el datagrid el campo contador asi me sirve pero creo que se vera feo para el cliente ver ese campo, intente hacer el select sin el campo contado pero no me sirve para poder actualizar la fila

porque tengo el update asi
(ByVal updescripcion As String, ByVal upfecha As String, ByVal uphora As String, ByVal idcontador As Integer) As Boolean

comando.CommandText = "update agenda set descripcion = '" & updescripcion & "', fecha = '" & upfecha & "', hora = '" & uphora & "' " & " where contador = " & idcontador

eso mismo lo hago cuando voy a buscar

cargo en el load este select pero se ve feo que se muestre el campo contador
 sql = "select hora,fecha, descripcion, contador from agenda"

y luego cargado el datagrid realizo la busqueda

 sql = "select * from agenda where contador = '" & idcontador & "'"

si alguien tiene una mejor idea si me podria ayudar
es un proyecto personal que estoy haciendo para poder practicar visual basic.net y poder subir de nivel o aprender algo mas
Cada dia aprendo algo nuevo

soco

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Actualizar Registro
« Respuesta #1 en: Lunes 26 de Noviembre de 2007, 17:11 »
0
hola alexis17! saludos desde argentina! con respecto a tu problema con la tabla personal te diría que tienes un problema de conceptos, pues teniendo la columna cedula como clave no la tendrias que "actualizar", al cambiar el valor se entiende que es una persona nueva y no la misma persona con un nro de cedula mal ingresado. (eso sin contar que si cambias el valor de la clave tendrias que actulizar todas la tablas hijas que puedas tener ya que estas quedarian haciendo referencia a un registro padre que no existe o erroneo).

te seria mas facil usar el campo autonumerico como clave y el campo cedula como un dato mas... de este modo podras actualizar todos los datos del personal sin tocar la clave y sin tener que actualizar las tablas hijas.

Con respecto a la agenda, hace la consulta como la estas haciendo y para ocultar una columna le pones su propiedad Visible igual a FALSE. Ojo! a la propiedad de la columna, no del datagrid. asi: Me.DataGridView1.Columns(X).Visible = False (reemplaza la "X" con el numero (index) o nombre de la columna que quieras ocultar.

de esta forma el usuario no verá esa columna pero los datos de esa columna si estaran en tu conjunto de datos traidos con la consulta.

espero que te haya podido ayudar. Saludos

alexis17

  • Miembro MUY activo
  • ***
  • Mensajes: 378
    • Ver Perfil
    • http://www.codigobasico.net
Re: Actualizar Registro
« Respuesta #2 en: Martes 27 de Noviembre de 2007, 03:16 »
0
hola gracias por responder , y gracias por aclararme algunas dudas si tienes razon tenia problemas de analisis, ya se en que cosas puedo mejorar  :P
cada dia se aprende algo nuevo
Cada dia aprendo algo nuevo