FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Invocar Store Procedure desde delphi
Hola, alguien me puede ayudar con lo siguiente:
Necesito invocar un procedimiento almacenado que esta hecho en Oracle desde delhpi, que controles debo utilizar y cual seria el codigo para invocar a este procedimiento. Espero la pronta respuesta de algun compañero de los foros, gracias. |
#2
|
||||
|
||||
Hola.
En primer lugar te invito en primer lugar a leer el hilo de la calidad de las preguntas. Asumiré que usas BDE para conectarte a la base de datos. La pestaña BDE cuenta con un componente llamado TStoredProc, a este le indicas la base de datos a la que se conectará (propiedad DatabaseName) y luego pones el nombre del procedimiento almacenado en la propedad StoredProcName. Si el procedimiento recibe parámetros, estos quedan disponibles en la propiedad Params y finalmente invocas el procedimiento con el método ExecProc. Todo lo he dicho de memoria... a veces fallo con los nombres de métodos o propiedades, si lo hice, por favor corregime sin pena. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
|||
|
|||
El procedimiento es este:
create procedure sptecnologia(numcel in number) is tecno varchar2(10); begin select tecnologia into tecno from celular where numero = numcel; dbms_output.put_line(tecno); end; Estoy utilizando TADOStoreProc. El codigo en delphi para invocar al mismo es este: procedure TForm1.Button1Click(Sender: TObject); begin Try sp.ProcedureName := 'SPTECNOLOGIA'; sp.FieldByName('NUMCEL').AsInteger := 098147821; sp.ExecProc; ShowMessage(sp.FieldByName('tecno').AsString); Finally sp.Free; End; end; Al ejecutar me da este error: 'sp:Field 'NUMCEL' not found' que crees que estoy haciendo mal para que me salga este error? |
#4
|
||||
|
||||
Cita:
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
OK, con lo que respecta a NUMCEL ya lo resolvi pero como recibo el vamol tecno que es el qe el procedimiento debe retornarme?
|
#6
|
||||
|
||||
Lo siento, pero el procedimiento que has mostrado no retorna nada. Hace una salida a la consola, pero eso no es un "retorno de valor".... es una salida a consola.
Si queres que el procedimiento retorne algo... pues poné un parámetro de salida (out) y el valor retornado por ese parámetro, luego de ejecutado el procedimiento, estará disponible de la misma manera en la propiedad params. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
||||
|
||||
debiera lucir así:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#8
|
|||
|
|||
Hola:
Solo como "breviario cultural" el procedimiento como está diseñado se parece mucho más a una función de Oracle, puedes entonces en lugar de generarlo como Stored Procedure como Function Digo solo por opinar Saludos
__________________
Ernesto R. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
store procedure no puedo llamarlos desde ado..! | Arturo | MySQL | 1 | 10-05-2006 01:03:56 |
Invocar un DLL hecho en Delphi desde Oracle | juancho_juancho | Conexión con bases de datos | 0 | 08-02-2006 02:47:07 |
Como mandar mensaje desde delphi con un store procedure..ibx | uper | Firebird e Interbase | 1 | 26-12-2005 15:21:14 |
Store Procedure en Delphi | carlomagno | Firebird e Interbase | 5 | 21-09-2005 20:24:22 |
Store Procedure Delphi - SQL 2000 | thecarlos | MS SQL Server | 4 | 15-07-2004 20:17:47 |
|