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
|
|||
|
|||
Bueno, lo que pasa es que recien estoy practicando los procedimientos almacenados en Oracle y no conozco aun muy bien. Como deberia quedar el procedimiento para que me retorne un valor al cual yo pueda recibirlo desde delphi?
Gracias por los conocimientos que estas compartiendo en el foro... |
#8
|
||||
|
||||
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 |
#9
|
|||
|
|||
Gracias, tu ayuda me ha servido de mucho. Ya logre invocar corectamente al procedimiento.
|
#10
|
|||
|
|||
Hola, ahora tengo este problema. El procedimiento ya lo invoca correctamente en la misma pc, pero cuando yo ejecuto la aplicacion desde una pc cliente en donde tengo instalado el cliente de Oracle me sale este error:ORA-12560:TNSrotocol adapter error.
La verdad he intentado solucionarlo siguiendo algunos consejos de algunos foros pero no logro resolverlo. Espero que me puedas dar una idea de lo que puede estar pasando, gracias. |
#11
|
|||
|
|||
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 |
|