Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2008
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Capturar Valor que Retorna un SP

Hola....


He realizado un procedimiento almacenado en SQL Server 2005 para que inserte los datos en una tabla, proceso que estoy ejecutando desde Delphi 7, utilizando los componente ADO.... el inconveniente que tengo es que no se como capturar el valor que me devuelve el SP, dado que al ejecutar el procedimiento desde el analizador de consulta este me devuelve el valor.....

Quiere decir que el proceso en el SQL Server esta bien.... pero no puedo traerlo a delphi.... He intentador lo siguiente

"ADOquery.Fields.Fields[0].Asstring;"

Pero cabe anotar que este componente ADOquery lo tengo para que se realicen varios procesos por lo tanto no me gustaria definir campos dentro del componente

Para que se ejecute el procedimiento hago lo siguiente:

Código PHP:
whit ADOquery do
begin
   close
;
    
sql.Clear;
    
sql.Add('execute MI_SP ..parametros..');
    
ExecSQL;
end
Agradezco cualquier idea...
Responder Con Cita
  #2  
Antiguo 18-01-2008
Blackspike Blackspike is offline
Miembro
 
Registrado: dic 2006
Ubicación: Mallorca, Baleares
Posts: 29
Poder: 0
Blackspike Va por buen camino
No te seria mas sencillo usar Componente ADOStoredProcedure??

De esta manera podrias recuperar el valor sin problemas.

Código Delphi [-]
with storedprocedure then
begin
  Close;
  UnPrepare;
  ParamByName('parametros').TipoDato:=Valor;
  Active:=true (Solo si es una consulta) o ExecSQL;
  resultado:=ParamByName('parametro que quieres recuperar').TipoDato;

Yo uso Oracle y uso este sistema y me va de maravillas.

Espero te vaya bien.

Saludos.
Responder Con Cita
  #3  
Antiguo 18-01-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Error mi estimado.

tienes dos componentes creados para la interacción con procedimientos almacenados. TadoDataSet o TAdoStoredProcedure.

usa TAdoStoredProcedure y define tanto el sp como sus parámetros

y al ejecutarlo obtendrás el resultado.



suerte
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #4  
Antiguo 18-01-2008
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Exclamation

Hola....

Cabe anotar que es la primera vez que estoy trabajando con este tipo de base de datos.... en serio....


Estoy haciendo una funcion que sea standart para cualquier procedimientos sea de consulta o ejecución.... no tengo muy claro lo de ADOStoreprocedure

La funcion es la siguiente:

Código Delphi [-]
function TClase.ejecuta_sp(ADOSP : TADOStoredProc; SP: String;
datos: array of String; Exec : Boolean = true; campo_devolver : string = ''): string;
var line, Y : string;  x : byte;
begin
  with ADOSP do
  begin
    Close;
    Parameters.Clear;
    ProcedureName := SP;
    Parameters.Refresh;
    Prepared := true;
    for x := 0 to high(datos) do
     Parameters.Items[x].Value := datos[x];
    if Exec then ExecProc
    else Active := true;
    if campo_devolver <> '' then  result := FieldByName(campo_devolver).AsString;
  end;
end;

Y la estoy llamando así :

Código Delphi [-]
eId.Text :=Clase.ejecuta_sp(DM.SP,'SP_USUARIO_I',[eLogin.Text,eNombres.Text,
    eApellidos.Text,est,'1',true,'USU_ID');

y al momento de ejecutarlo me muestra el siguiente mensaje:

Cita:
"La aplicación utiliza n valor de tipo no válido para la operación actual"
Agradezco de antemano la colaboración ....
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
WebService que retorna un String[]; JuanErasmo .NET 2 22-10-2007 22:34:41
capturar el valor de una variable en una pagina web DISIMULA Internet 0 19-03-2007 18:34:31
Capturar valor Html lucasarts_18 HTML, Javascript y otros 8 02-01-2007 21:34:36
Capturar el valor del Select elcigarra PHP 8 13-05-2006 08:54:04
Problemas para capturar valor de OnKeyPress CamiloU Varios 7 07-04-2006 18:57:00


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


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