Hola de nuevo, obtener un campo desde vb una vez hecha la consulta, no hay problema, el problema
se me presenta si tengo que devolver, como es el caso, un "T", o "F" o "0" o "1" o el valor que
sea, pero que no este relacionado con la tabla o nada que se le parezca.
De hecho, lo primero que hice antes de devolver T o F, fue comprobar si estaba o no ingresado
uno de esos datos, ahí no tengo problema en llamar-asignar elcampo a una variable, no sé si me
explico.
Un saludo
Suso
El 7 de septiembre de 2009 10:17, suso <jlcu...@terra.es
<mailto:jlcu...@terra.es>> escribió:
Hola Cesar, de esa manera no obtengo el valor de retorno, puedo
obtener cualquier datos del recordset, pero no un return false o
true o el que sea, es correcto?
No, la funcion se delara por ejemplo
CREATE OR REPLACE FUNCTION cl_paciente_inserta(mpc_cod character
varying, .....)
RETURNS bigint AS
$BODY$
BEGIN
--***************************************
--INSERTA LOS REGISTROS
--TABLA PACIENTE
--***************************************
INSERT INTO pacientes(
pc_cod, ....
)
VALUES (
mpc_cod, ....
);
IF NOT FOUND THEN
RAISE EXCEPTION 'Error al Tratar de Insertar un NUEVO Registro
((%))', mpc_nombre;
RETURN 0;
END IF;
--DEVUELVE EL CODIGO DE LA PERSONA INGRESADA, QUE LE ASIGNA EL SISTEMA
RETURN currval('pacientes_pc_id_seq');
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
y de visual basic la llamas
sql = "SELECT * FROM cl_paciente_inserta(parametro1, parametro2,...)
Set RsTemp = New ADODB.Recordset
RsTemp.Open sql, Base, adOpenKeyset, _
adLockOptimistic, adCmdText
If Not (RsTemp.EOF And RsTemp.BOF) Then
variablequetomaRetorno = rstemp(0)
Set RsTemp = Nothing
--
Sin más que decir se despide de Usted, muy atentamente
Cesar Erices Vergara
Ingeniero en Gestión Informática
Analista de Sistema
Santiago - Chile
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
(envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)