![]() |
FireBird row_count
Hola como estan todos?
Mi problema: Necesito confirmar si el insert, update se hay realizado correctamente, me fije en la Nota (Firebird_v15.108_ReleaseNotesSpanish) y ahi me dice que tengo que usar row_count en un trigger o procedimiento almacenado, el problema es que cuando la uso el Firebird-1.5.0.4306-Win32 no recomoce la instruccion (row_count). Istale el Firebird-1.5.0.4306-Win32 sin ninguna actualizacion (releace candidate) Creo que esta es la definitiva de FireBird Desde ya muchas gracias |
Sí el proceso de grabación lo encuadras dentro de un Try Except. Sí hubiera algun fallo durante la grabación del registro, el proceso entraria por la sentencia Except. Donde podras evaluar cual fue el error producido durante el proceso.
Sí no entra en el Except es que todo sucedio correctamente Saludos. |
No necesariamente....
Si haces un Update o Delete, via SQL, el update no devolverá error, aun cuando no se haya actualizado ningun registro. Es diferente con el insert, que si que elevará una excepción. No indicas que componentes usas.. si es BDE, simplemente mirá la propiedad RowsAffected del TQuery. Hasta luego. ;) |
cabe aclarar que esta versión ya no es un Release Candidate (rc). Es el Release definitivo de la 1.5
Hasta luego. ;) |
Tal vez sería útil investigar sobre los triggers y eventos.
|
Hola
disculpen pero creo que no se entendio bien mi pregunta, va otra vez: Lo que yo quiero es poder controlar en un procedimiente almacenado luego de un insert delete o update si la operacion se realizo. Para esto hay en fireBird el comando ROW_Count que se usa de la siguiente manera ROW_COUNT: Devuelve un entero, el número de registros involucrados en la última sentencia DML. Disponible en PSQL, en el contexto del trigger o procedure. Actualmente devuelve cero tras una sentencia SELECT. UPDATE TABLE1 SET FIELD1 = 0 WHERE ID = :ID; IF (ROW_COUNT = 0) THEN INSERT INTO TABLE1 (ID, FIELD1) VALUES (:ID, 0); el tema es que cuando compilo me da error en el comando ROW_COUNT, no lo reconoce no se si me falta algo o que ? bueno gracias y hasta pronto |
Hola
ya soluciones lo del ROW_COUNT. No me di cuenta que al crear la base de datos la habia creado con Dialecto 1 y bueno.... tenia que ser con Dialecto 3 Gracias |
| La franja horaria es GMT +2. Ahora son las 22:09:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi