Foros del Web » Programación para mayores de 30 ;) » .NET »

Npgsql Recuperar Valores De Sp

Estas en el tema de Npgsql Recuperar Valores De Sp en el foro de .NET en Foros del Web. Buenas tardes amigos !!! Verán tengo el siguiente SP en PostgreSQL 8.2 Código: CREATE OR REPLACE FUNCTION pdameusuario(pnum_identidad bpchar, pclave bpchar) RETURNS SETOF refcursor AS ...
  #1 (permalink)  
Antiguo 09/12/2007, 13:33
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Npgsql Recuperar Valores De Sp

Buenas tardes amigos !!!

Verán tengo el siguiente SP en PostgreSQL 8.2
Código:
CREATE OR REPLACE FUNCTION pdameusuario(pnum_identidad bpchar, pclave bpchar) RETURNS SETOF refcursor AS
$BODY$
DECLARE curCursor refcursor;
BEGIN

	--ACCEDIO POR CERTIFICADO
	IF pclave='' THEN
		OPEN curCursor FOR SELECT cod_usuario, num_identidad, clave, nombre, apellido_1, apellido_2, 
					calle, email, TUSUARIOS.cod_pais, TPAISES.PAIS, TUSUARIOS.cod_provincia, TPROVINCIAS.provincia, ciudad, codigo_postal, 
					fec_alta, foto, notificar_email, estrellas, cuenta_activa
				  
					FROM tusuarios
						INNER JOIN TPAISES
							ON TPAISES.COD_PAIS = TUSUARIOS.COD_PAIS
						INNER JOIN TPROVINCIAS
							ON TPROVINCIAS.COD_PROVINCIA = TUSUARIOS.COD_PROVINCIA

					WHERE NUM_IDENTIDAD = pnum_identidad;
		RETURN NEXT curCursor;
	END IF;
	
	--ACCEDIO NORMAL
	IF pnum_identidad<>'' and pclave<>'' THEN
		OPEN curCursor FOR SELECT cod_usuario, num_identidad, clave, nombre, apellido_1, apellido_2, 
					calle, email, TUSUARIOS.cod_pais, TPAISES.PAIS, TUSUARIOS.cod_provincia, TPROVINCIAS.provincia, ciudad, codigo_postal, 
					fec_alta, foto, notificar_email, estrellas, cuenta_activa
				  
					FROM tusuarios
						INNER JOIN TPAISES
							ON TPAISES.COD_PAIS = TUSUARIOS.COD_PAIS
						INNER JOIN TPROVINCIAS
							ON TPROVINCIAS.COD_PROVINCIA = TUSUARIOS.COD_PROVINCIA

					WHERE NUM_IDENTIDAD = pnum_identidad
					AND   CLAVE =pclave;
		RETURN NEXT curCursor;
	END IF;

	RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Estoy intentando llamarlo desde .NET usando al dedillo el puto manual de NPGSQL que viene:
Código:
        private void button1_Click(object sender, EventArgs e)
        {
            Npgsql.NpgsqlConnection objCn = null;
            NpgsqlTransaction t = null;
            try
            {
                string txtCN = "mi cadena de conexion....";

                DataTable tbDatos = new DataTable();
                objCn = new Npgsql.NpgsqlConnection(txtCN);
                objCn.Open();
                t = objCn.BeginTransaction();

                Npgsql.NpgsqlCommand objCmd = new Npgsql.NpgsqlCommand("pdameusuario", objCn);
                objCmd.CommandType = CommandType.StoredProcedure;
                objCmd.Parameters.Add("pnum_identidad", "77777");
                objCmd.Parameters.Add("pclave", "miclave");

                Npgsql.NpgsqlDataAdapter objDa = new Npgsql.NpgsqlDataAdapter(objCmd);
                objDa.Fill(tbDatos);

                t.Commit();
                MessageBox.Show(tbDatos.Rows[0][0].ToString());
            }
            catch (Exception ex)
            {
                t.Rollback();
                MessageBox.Show(ex.Message);
            }
            finally
            {
                if (objCn.State == ConnectionState.Open)
                    objCn.Close();
            }

        }

Por favor, ¿ALGUIEN ME PUEDE AYUDAR?, estoy dando vueltas a la mierda esta y la verdad que ya estoy de mal humor...

Ejecutar se ejecuta todo bien, pero el resultado que recibo del MSGBOX es: <unnamed portal 1>


¿ALGUIEN SABE QUE PUEDE SER, POR FAVOR?
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:50.