• Domingo 22 de Diciembre de 2024, 23:12

Autor Tema:  Preguntar Antes De Editar Y Eliminar Reg.  (Leído 2585 veces)

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Preguntar Antes De Editar Y Eliminar Reg.
« en: Jueves 21 de Septiembre de 2006, 01:08 »
0
Hola, estoy migrando al .net que a decir verdad ya lo habia tenido en curso hace un tiempo pero hacer cosas (ya hechas en VB6) me hacia volver, y ahora que tengo el tiempo, pues a comenzar a lo nuevo para lo nuevo (para el futuro, claro).

No sé cómo poner el mensaje o pregunta cuando se piensa Editar o Borrar un registro, ya que es algo obligatorio en caso de que el operador se equivoque y accidentalmente pulse dicho botón, desde luego.

Yo lo hacía así en VB6 (bajo un cierto codigo clásico de aquel entonces):

EDITANDO:
Código: Text
  1.  
  2. If Rs.RecorCount>0 then 'Esto para evitar error en .MoveFirst
  3.   Exit Sub 'o poner un mensaje de que no hay registros en la tabla
  4. End if
  5.  
  6.  

Con un Else en ese If o fuera de él, (es indiferente, a gusto) pues vendria esto:
Código: Text
  1.  
  2. While Not Rs.EOF
  3.    Rs.MoveFirst
  4.    If TxtID = Rs("CampoID") Then
  5.        If MsgBox("¿Confirma que desea Editar este Registro?", vbInformation + vbYesNo, "Edicion de Registro") = vbYes Then
  6.           TxtCampo1.Text = Rs("Campo1")
  7.           TxtCampoEtc.text = Rs("CampoEtc")
  8.           MsgBox "El Registro ha sido Editado"
  9.           Exit Sub
  10.         Else
  11.           Exit Sub
  12.    End If
  13.    Rs.MoveNext
  14. Wend
  15. Msgbox "No se ha encontrado el registro indicado, verifique el ID"
  16.  
  17.  

Ahora, apenas estoy conociendo el código para el .Net por ejemplo tengo o he empezado con esto, este código Edita (esto por parámetros):
Código: Text
  1.  
  2. Dim Editar As String
  3. Dim ordenSQL As OleDbCommand
  4.  
  5. Editar = "Update Telefonos Set Nombre=@NOMBRE, TelefCel=@TELEFCEL, TelefHab=@TELEFHAB, "
  6. Editar = Editar & "TelefTrab=@TELEFTRAB, Email=@EMAIL, Direccion=@DIRECCION "
  7. Editar = Editar & "Where NombreClave = " & TxtNombreClave.Text
  8.  
  9. ordenSQL = New OleDbCommand(Editar, conexionBD)
  10.  
  11. ordenSQL.Parameters.Add(New OleDbParameter("@NOMBRE", OleDbType.VarWChar, 50))
  12. ordenSQL.Parameters("@NOMBRE").Value = TxtNombre.Text
  13. ordenSQL.Parameters.Add(New OleDbParameter("TELEFCEL", OleDbType.VarWChar, 20))
  14. ordenSQL.Parameters("@TELEFCEL").Value = TxtTelefCel.Text
  15. ordenSQL.Parameters.Add(New OleDbParameter("TELEFHAB", OleDbType.VarWChar, 20))
  16. ordenSQL.Parameters("@TELEFHAB").Value = TxtTelefHab.Text
  17. ordenSQL.Parameters.Add(New OleDbParameter("@TELEFTRAB", OleDbType.VarWChar, 20))
  18. ordenSQL.Parameters("@TELEFTRAB").Value = TxtTelefTrab.Text
  19. ordenSQL.Parameters.Add(New OleDbParameter("@EMAIL", OleDbType.VarWChar, 50))
  20. ordenSQL.Parameters("@EMAIL").Value = TxtEmail.Text
  21. ordenSQL.Parameters.Add(New OleDbParameter("@DIRECCION", OleDbType.VarWChar, 60))
  22. ordenSQL.Parameters("@DIRECCION").Value = TxtDireccion.Text
  23.  
  24. 'mandando la SQL a la BD:
  25. ordenSQL.Connection.Open()
  26. ordenSQL.ExecuteNonQuery()
  27. ordenSQL.Connection.Close()
  28. MsgBox("EL REGISTRO HA SIDO EDITADO")
  29.  
  30.  

¿Cómo podría con este último código poner el mensaje al compararse TxtID = CampoID, es decir, luego de cumplirse esto, vendria el script del mensaje, y cómo haría valer un "Si" o un "No" por parte del usuario.

La solución de esto es igual para la opción de Eliminar, al saber como hacerlo en Editar sería igual, supongo yo, desde luego, deberia ser asi.

Tambien medio estoy armando un código con DataSet y DataAdapter, pero aun estoy trabajando en eso, soy nuevo en el .Net  :P

Muchas gracias Desarrolladores de esta plataforma .net por sus depuraciones hehe.
Saludos.
Si esto es Leído por accidente, induzca al vomito

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Preguntar Antes De Editar Y Eliminar Reg.
« Respuesta #1 en: Sábado 23 de Septiembre de 2006, 17:37 »
0
Puedes probar con

if messagebox.show("¿Question?","Titulo",DialogResult.YesNo,...) Then = DialogResult.Yes Then

Endif

Bueno es algo asi,. la verdad no recuerdo exactamente el orden en que van los parametros de .Show(,,,).. pero asi ppuedes preguntar y armar un camino en base a las respuestas.....

Espero y eso sea lo que buscas...
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Preguntar Antes De Editar Y Eliminar Reg.
« Respuesta #2 en: Lunes 25 de Septiembre de 2006, 22:12 »
0
si, eso sirve, aunque si nos fijamos, no valida nada como "If Txt=CampoTabla Then" sino que es un IF que de una vez saca el aviso sin importar si el registro fue o no encontrado. Además de que en VB6 uno ponia un ciclo que recorria todos los registros, en este caso la SQL lo hace a su manera, más corto en una sola linea.

Ese IF me sirve si, solo me quedaria ver lo de la validacion, es decir, que si encontro el registro, porque sin un If Txt=CampoTabla Then, igualito se pasa a esas lineas de código, la diferencia aqui y ahora con esto, es que al menos ya hay una pregunta que frena una posible operación por descuido, asi que esta bien, mejor a como estaba antes sin ningun tipo de aviso que confirmara la operacion.

gracias man,  aunque no es IF con aviso que valide, igual sirve :comp:
ya es algo, seguire viendo lo de la validacion, no sea que uno escriba garabatos en la ventana (un reg que no exista) e igual saque el aviso de si desea editar o no el registro.
Si esto es Leído por accidente, induzca al vomito