Domingo 22 de Diciembre de 2024, 07:02
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
ASP .NET
(Moderador:
sergiotarrillo
) »
Problemas Con Una Funcion De Oracle Desde .net
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Problemas Con Una Funcion De Oracle Desde .net (Leído 2499 veces)
colacao
Miembro activo
Mensajes: 55
Problemas Con Una Funcion De Oracle Desde .net
«
en:
Miércoles 20 de Junio de 2007, 14:08 »
0
Buenas,
Estoy desarrollando una aplicación que trabaja con Oracle. Mi problema es el siguiente:
Tengo una función de oracle que retorna un tipo de dato compuesto.
El problema es que no se como debo hacer para obtener el resultado de la consulta.
A continuación os muestro el tipo de dato creado en oracle y la funcion de oracle con la que trabajo. Tanto la función como el tipo de dato me los han enviado y tengo que trabajar con esos en concreto.
Código: Text
create or replace type tAlumnos as object
(
codigo varchar2(10),
codsolicitud number,
campo1 varchar2(200),
campo2 varchar2(200),
campo3 varchar2(200),
campo4 varchar2(200),
campo5 varchar2(200),
dni varchar2(20),
nombre varchar2(50),
apellido1 varchar2(50),
apellido2 varchar2(50),
sexo varchar2(1),
fechanacimiento date,
domicilio varchar2(255),
numero varchar2(4),
piso varchar2(6),
poblacion varchar2(50),
cp varchar2(6),
pais varchar2(255),
telefono varchar2(15),
movil varchar2(15),
email varchar2(255),
provincia varchar2(100),
resultado varchar2(1)
)
Código: Text
create or replace function datos_alumno (cod_solicitud number) return talumnos is
Necesita:
Un número de solicitud
Produce:
Una estructura de datos con todos los campos requeridos. En esta estructura
existirá
un campo denominado resultado, que vale T si existe la solicitud y F en caso
de
haber algún error o no existir la solicitud.
datos talumnos;
cursor dat(cod number) is
sELECT codigo,codsolicitud,campo1,campo2,campo3,campo4,campo5,
dni,nombre,apellido1,apellido2,sexo,fechanacimiento,domicilio,
numero,piso,poblacion,cp,pais,telefono,movil,email,provincia
FROM JMCLIENTE
WHERE
codsolicitud=cod;
begin
FOR REGIs IN dat(cod_solicitud) loop
datos:=talumnos(regis.codigo,regis.codsolicitud,regis.campo1,regis.campo2,regis.campo3,regis.ca
mpo4,regis.campo5,regis.dni,regis.nombre,regis.apellido1,regis.apellido2,
regis.sexo,regis.fechanacimiento,regis.domicilio,regis.numero,regis.piso,regis.poblacion,regis.cp,re
gis.pais,regis.telefono,regis.movil,regis.email,regis.provincia,'T');
return(datos);
end loop;
datos:=talumnos('',0,'','','','','','','','','','','',null,'','','','','','','','','','F');
return (datos);
exception
when OTHERS THEN
datos:=talumnos('',0,'','','','','','','','','','','',null,'','','','','','','','','','F');
return (datos);
end datos_alumno;
Desde .net el código que tengo es el siguiente:
Código: Text
//Creamos un objeto command para ejecutar el procedure del package
OracleCommand oracmd = new OracleCommand();
//Consulta que ejecuta la función de Oracle
oracmd.CommandText = "select datos_alumnos(1) from dual";
//Definimos que el tipo de comando a ejecutar es una consulta.
oracmd.CommandType = CommandType.Text;
//Y asignamos la conexión que previamente hemos definido y abierto.
oracmd.Connection = conexion.obtenerConexionOracleClient();
Y a partir de aquí ya no se como seguir para obtener el objeto que me retorna la función.
Si alguien puede echarme una mano se lo agradecería mucho.
Un saludo,
Jorge
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
ASP .NET
(Moderador:
sergiotarrillo
) »
Problemas Con Una Funcion De Oracle Desde .net