![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
![]() Para darte tranquilidad te se decir que firebird ofrece el mismo comportamiento en el servidor embebido que en el servidor normal, con la diferencia que el embebido (por obvias razones) no tiene soporte para múltiples usuarios. Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#2
|
|||
|
|||
|
Parece ser que coloque el mensaje en el hilo equivocado, lo que necesitaba saber sobre el envío de paramentros a un procedimiento almacenado de la siguiente forma:
La sintaxis que se coloca para enviar los parametros a un procedimiento almacenado es la misma que cuando se le envia información a variables en SQL con delphi: Ejemplo: mi tabla se llama clientes.bgd por dar un ejemplo y tiene los campos nombre, direccion, telefono, email. El código para hacer una consulta seria ango así:
con esto se asignarían valores a los parametros de una consulta a una tabla. Ahora, el procedimiento se llama consulta_cltes y los campos son nombre, direccion, telefono, email, los valores de entrada son NOMB y MAIL, igual que la consulta anterior. ¿como podría asignar los parametros deseados? Gracias de antemano y perdón por la metida de pata pero es que es parte de lo que estoy investigando y me cuatrapie ![]() |
|
#3
|
|||
|
|||
|
Hola cuburu
No te entendi muy bien. me confunde unas cositas como esto: Cita:
Si lo que quieres es enviar parametros al SP, debes utilizar el componente TIBStoredProc, En tiempo de ejecucion debes poner algo como esto:
con la primera sentencia le asignas un valor al parametro y con la segunda ejecutas el SP Si tienes algun parametro de salida, puedes visualizarlo con esto:
__________________
La amistad es la union de dos almas para formar una sola. |
|
#4
|
|||
|
|||
|
Gracias.
Para que entiendan, lo que deseo es enviar una consulta filtrada basada en el nombre y apellidos de una persona. el código del procedimiento almacenado es: Código:
CREATE PROCEDURE CONSPERSONAS (
NOMBREI VARCHAR (40) CHARACTER SET WIN1252,
APELLIDOSI VARCHAR (40) CHARACTER SET WIN1252)
RETURNS (
NOMBREO VARCHAR (40) CHARACTER SET WIN1252,
APELLIDOSO VARCHAR (40) CHARACTER SET WIN1252,
EMAILO VARCHAR (100) CHARACTER SET WIN1252)
AS
BEGIN
/*NOMBRE Y APELLIDOS*/
if ( not (NOMBREI is null and APELLIDOSI is null) ) then
begin
select NOMBRE, APELLIDOS, EMAIL
from personas
where NOMBRE like '"%' || :NOMBREI || '%"' and
APELLIDOS like '"%' || :APELLIDOSI || '%"'
into :NOMBREO, :APELLIDOSO, :EMAILO;
suspend;
end
else
begin
/*NOMBRE*/
if (not NOMBREI is null) then
begin
select NOMBRE, APELLIDOS, EMAIL
from personas
where NOMBRE like '"%' || :NOMBREI || '%"'
into :NOMBREO, :APELLIDOSO, :EMAILO;
suspend;
end /*Fin NOMBRE*/
else
begin
/*APELLIDOS*/
if (not APELLIDOSI is null) then
begin
select NOMBRE, APELLIDOS, EMAIL
from personas
where APELLIDOS like '"%' || :APELLIDOSI || '%"'
into :NOMBREO, :APELLIDOSO, :EMAILO;
suspend;
end /*Fin APELLIDOS*/
else
exception SIN_DATOS;
end
end /*Fin NOMBRE Y APELLIDOS*/
END
Como apenas comienzo a codificar procedimientos quizas esté mal en la sintaxis o algo por el estilo. El error que me manda al abrir la conexión y ejecutar la consulta es este: Cita:
TABLA: Personas NOMBRE varchar(40) APELLIDOS varchar(40) TELEFONO varchar(20) EMAIL varchar(100) Desde ya les doy las gracias por anticipado. ![]() |
|
#5
|
|||
|
|||
|
Hola, soy yo de nuevo. He resuelto el problema, no como yo lo quisiera pero me ha funcionado hasta que encuentre una solución.
He utilizado un objeto IBQuery y realizado una consulta al procedimiento y listo. Digamos algo así:
Así es como lo he resuelto, pero me gustaría saber si alguien conoce otra forma utilizando el objeto IBStoreProc. Nos leeremos luego... |
|
#6
|
||||
|
||||
|
En realidad esta me parece la forma mas adecuada de usar los procedimientos que devuelven un cursor..
Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#7
|
|||
|
|||
|
Hola cuburu,
Copie tu codigo y lo ejecute con una base que tengo en mi PC. Aqui te mando el codigo de nuevo con unas modificaciones, lo que te paso aqui funciona a la perfeccion.
La unica diferencia es que saco los DataSets que tienes tu y bueno utilizo los MDO para conectarme. Veras que muestro un mensaje, eso es para ver si me entregaba el valor nada mas. En fin, espero que te sirva, no se cual puede ser tu error, pero el ejemplo que te envio funciona. Suerte. Saludos!!!
__________________
La amistad es la union de dos almas para formar una sola. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Delphi no toma los Registros Modificados de Firebird | Ricardojosep | Firebird e Interbase | 2 | 12-01-2006 15:05:44 |
| filtrar datos desde delphi 6 | el_barto | Impresión | 1 | 06-01-2006 17:42:05 |
| Acceso a firebird desde Delphi 2005.net | hibero | Firebird e Interbase | 1 | 26-12-2005 16:48:34 |
| Con delphi Insert en Firebird varios registros desde otra tabla | lasweb | Conexión con bases de datos | 3 | 04-04-2005 20:58:26 |
| Generar una DB en Firebird desde Delphi | RONPABLO | Conexión con bases de datos | 1 | 22-10-2004 09:58:28 |
|