Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2003
TelloClos TelloClos is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 48
Poder: 0
TelloClos Va por buen camino
Manejo de Procedimientos Almacenados Sql Server

Saludos!

necesito poder manejar parametros de salida de un procedimiento almacenado desde delphi que ha sido creado en sql server 2000 la declaracion esta hecha de la siguiente forma es algo simple:

create procedure Prueba @salida vrchar(20) as output
as
set @salida = 'Probando salida de datos'
go

el procedimiento no ha sido creado a traves de deplhi sino directamente en el sql. primero que todo ¿ esta bien declarada este parametro de salida?

ahora deseo poder llamarlo desde delphi para poder saber si rescata algún valor asignandolo a una caja de texto, pero no se con que porpiedad del objeto procedimiento almacenado se recata , según yo deberia manejarlo como si fuera una consulta o sea podria haber podido recatarlo colocando nombreprocedimiento['salida'] pero no pasa nada .
la conexion funciona bien, y al clickear para ver la lista de parametros reconocidos me muestra este parametro salida dentro de la lista.

espero me puedan ayudar.
de ante mano gracias.
__________________
"Todo lo que puede fallar, falla."
Responder Con Cita
  #2  
Antiguo 24-06-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Te explico como lo haria yo atacando a Interbase (no creo que cambie mucho la cosa) --> para tu caso, supongo que utilizaras ADO

1.- Pon un TIBDatabase apuntando a tu BD (en tu caso supongo que un TADOConection)
2.- Pon un TIBStoredProc (en tu caso supongo que un TADOStoredProc)
3.- Asignale la propiedad StoredProcName (en tu caso ProcedureName)
4.- En la propiedad Params tendras todos los paramentros de entrada y salida (en ADO Paramaters)
5.- Con un doble clic encima del TIBStoredProc, podras asignar los parametros de salida (como si fueran campos persistentes de una tabla o query)
6.- Haria un IBStoredProc.ExecProc;
7.- El resultado se lo asigno a lo que quiera : Edit1.Text := IBStoredProc.ParamByName('LoQueDevuelve').AsString;

Espero te sirva
Responder Con Cita
  #3  
Antiguo 24-06-2003
TelloClos TelloClos is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 48
Poder: 0
TelloClos Va por buen camino
Hola y gracias!

bueno, si ocupo los objetos ado, el problema no lo tenia en la conexion eso esta todo ok. como lo mencionaba en la primera cita
textual me muestra los parametrso creados y todo.
la propiedad parambyname no esta disponible cuando ocupas objetos ado (eso lo lei de una ayuda en internet), y lo que habia encontrado por ahí es que me se debia ocupar procedimiento.params['Parametro'].asstring pero tampoco estaba dicponible en esta version 7 del Delphi, bueno la cosa es que seguimos investigando con mis compañeros de trabajo y por Fin logramos descubrir el secreto la cosa es Procedimiento.parameters.item[indice].value

de todas formas por supuesto ¡muchas gracias! por haber atendido mi consulta en tan poco tiempo, ademas dicen por ahí que "cuando cuentas tu problema a alguien te das cuenta del error que estas cometiendo" ( o algo por el estilo )

se que seguire molestandolos porque estamos ( yo y mis compañeros de trabajo) recien metiendonos en este mundo delphiano

nuevamente muchas gracias por la atención y ojala que a algunos de los visitantes a este hilo le sirva nuestro pequeño descubrimiento

nos vemos!


6.- Haria un IBStoredProc.ExecProc;
7.- El resultado se lo asigno a lo que quiera : Edit1.Text := IBStoredProc.ParamByName('LoQueDevuelve').AsString;

Espero te sirva [/b][/quote]
__________________
"Todo lo que puede fallar, falla."
Responder Con Cita
  #4  
Antiguo 25-06-2003
TelloClos TelloClos is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 48
Poder: 0
TelloClos Va por buen camino
hola nuevamente!


como puedo manejar un conjunto de datos a traves de un procedimiento almacenado?
partiendo de como deberia ser el tipo de parametro de salida que declarar en el procedimiento al crearlo hasta como
poder lleguar a mostrarlo en un datasource ( segun yo igual como se hace con Query pero no me funciona )

de ante mano muchas gracias!
__________________
"Todo lo que puede fallar, falla."
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:09:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi