SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: alexis17 en Domingo 11 de Noviembre de 2007, 17:16
-
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
-
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
-
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