Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2010
martinartaza martinartaza is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 77
Poder: 14
martinartaza Va por buen camino
Ayuda para capturar 'Raise Notice' de postgres en delphi 6 o 7.

Hola querido foro yo de nuevo por acá haciendo preguntas que no encuentro por la web.
Estoy programando usando Delphi 6, 7 (según la maquina que me siento, hay distintos proyecto con distintas librerias) y todos usando postgres SQL.
En postgres tengo funciones que usan el raise exception y a eso la capturo bien desde delphi, pero postgres también posee lo que se llama raise notice, y habia estado evitando usarlo debido a que no sabia como capturarlo, ahora en este momento me va a simplificar mucho la vida.
Lo que necesito es saber como capturo el raise notice de postgres.
Ejemplo

En sql tengo la siguiente función.
Código SQL [-]

CREATE OR REPLACE FUNCTION registrarpagofacil(p_fecha date, p_import numeric, p_idctacte integer, p_vencim1 date, p_import1 numeric, p_vencim2 date, p_import2 numeric, p_vencim3 date, p_import3 numeric)
  RETURNS void AS
$BODY$
DECLARE
  CtaCte_Cliente RECORD;
BEGIN
....
....
....
  SELECT * INTO CtaCte_Cliente 
  FROM CtaCte_Clientes ccc 
  LEFT JOIN ClientesCuentas cc USING(idCuenta) 
  WHERE idCtaCte = p_idCtaCte;
  IF CtaCte_Cliente IS NULL THEN
    RAISE EXCEPTION 'Clave primaria de cuenta corriente: % de cliente no encontrada', p_idCtaCte;
  END IF;
...
...
...
-- Si llego hasta el final, termino bien.
RAISE NOTICE 'La operación con la cuenta corriente: % a sido exitosa', p_idCtaCte
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION registrarpagofacil(p_fecha date, p_import numeric, p_idctacte integer, p_vencim1 date, p_import1 numeric, p_vencim2 date, p_import2 numeric, p_vencim3 date, p_import3 numeric) OWNER TO postgres;


El motivo por el cual quiero saber si termino bien, es que este proceso se tira, al leer un arhivo que tiene n lineas, y si una linea del archivo anda mal, se cancela la operación, con raise exception solo puedo saber que una linea termino mal, pero con el raise notice puedo leer cuantas lineas terminaron bien, y saber en que linea del archivo buscar el problema.

Ojo, no quiero atrapar el raise notice con una excepcion del programa, a la excepcion de postgres la atrapo con un bloque try except, pero al raise notice de postgres, simplemente lo quiero mostrar en un ListBox.

Bueno, en conclusion lo que quiero hacer es algo por el estilo.

Código Delphi [-]
listbox1.add(raise notice de postgres)

Desde ya muchas gracias y recuerde como siempre busque en otros lados (en español) y no encontré nada al respecto.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturar eventos de postgres en delphi chelard PostgreSQL 11 12-09-2010 10:38:38
Componente en Delphi 2006 para importar datos de excel a postgres saul_fg PostgreSQL 0 01-04-2009 18:49:56
Para qué usar raise Exception wascar2003 Varios 3 20-11-2007 12:50:15
ayuda con postgres y Delphi .NET Natucha PostgreSQL 1 19-05-2007 01:00:22
Ayuda con la conexión de Postgres con Ruby on Rails elgocho PostgreSQL 0 05-12-2006 22:59:31


La franja horaria es GMT +2. Ahora son las 11:36:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi