FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Sugerencias para realizar una actualizacion de un registro en Firebird
Hola como estan! Queria pedirles opiniones al momento de realizar una actualizacion en firebird que es mas correcto.
Bueno el tema es que en MySql y firebird si utilizamos el siguiente codigo: y tenemos por ejemplo los siguiente valores en una tabla: Nombre Apellido Juan Rodriguez Matiaz Fernandez ... ... Maria Gimenez Cuando ponemos en modo de edicion el Query e insertamos en un campo el MISMO valor que tenia antes nos arroja un error, es decir quiero modificar Juan Rodriguez y le vuelvo a poner de nombre y apellido Juan Rodriguez y automaticamente Firebird chilla. Para ello yo lo soluciono de dos maneras pero no se cual es la adecuada. La primera (mucho codigo) asigno en variables los valores que tenia y pregunto si cambio algun valor, en el caso de que cambio realizo el Query.Edit La segunda (menos codigo) Utilizo try except de la siguiente forma:
Actualmente utilizo la primera forma, pero cuando una tabla tiene muchos campos mi codigo crece el doble al realizar las verificaciones para saber si se modifico un dato o no. Bueno simplemente queria saber que forma es mas adecuada, o si es mejor utilizar alguna otra. Desde ya muchas gracias a todos! Última edición por Casimiro Notevi fecha: 14-03-2012 a las 01:29:21. |
#2
|
||||
|
||||
Debo de estar sordo, jamás he oído chillar a firebird
Bromas aparte, no tiene sentido lo que dices, si actualizas un campo da igual lo que pusiera antes o después. Yo lo suelo hacer todo en sql, por ejemplo:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Claro que si tiene sentido porque da error, mira dejo unas imagenes para que veas, hice un ejemplo rapido.
La primera imagen muestra que me posiciono en el registro con CODIGO = B10003 En el edit de abajo del dbgrid pongo el mismo codigo: B10003 La segunda y tercera imagen muestra que pasa al presionar el boton: y luego de generarse el error, cada vez q me muevo por la grilla, (se genera el OnDataChange), me arroja el error. El codigo de toda la aplicacion es este: Cita:
Cita:
Esete error es conocido en MySql y Firebird, pero si por ejemplo lo conecto a una base en Access no es necesario comprobar si se modifico algun dato porq no tira error. |
#4
|
||||
|
||||
Si usas el try except se realiza la modificacion?
|
#5
|
||||
|
||||
Por curiosidad, trabajando con FieldByName ocurre lo mismo??
Respecto a Try como lo usas lo único que hace es capturar el error y no mostrarlo, por lo cual no se cumplirá el cambio pedido.
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#6
|
|||
|
|||
Cañones:
Si uso el try except se realiza el cambio solo si se cambio algun dato, que es lo q en definitiva queremos. pero si se ingresan los mismos datos que ya estan almacenados en el registro tira la excepcion RONPABLO: Cita:
Con fieldByName ocurre lo mismo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sugerencias para pasar XML a Tabla | MaMu | Varios | 0 | 01-11-2008 02:41:33 |
web (PHP) + Firebird. Sugerencias y comentarios. | Delphius | PHP | 1 | 11-06-2007 15:49:17 |
Sugerencias sobre un procesador P4 DUALCORE en firebird | AGAG4 | Firebird e Interbase | 13 | 06-06-2007 22:20:33 |
Sugerencias para programa 3D... | Er_Manué | Varios | 2 | 30-10-2006 16:05:22 |
Actualizacion de registro | JorgeBec | Conexión con bases de datos | 8 | 22-11-2004 23:14:54 |
|