Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-07-2007
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Store Procedures y su Resultado

Hola Amigos: me encuentro con el siguiente incoveniente!
Tengo el siguiente Storeprocedure

Código SQL [-]
Create Procedure SelectXML as

Select * from t620task for xml auto,elements

como veran es muy complicado, bueno esto devuelve todo la informacion de una tabla en una estructura XML!.

hasta aca todo bien, lo ejectuto desde un Query analizer (SQL-SERVER) o un Interactive SQL (Sybase), y ningun problema.
Devuelve en una grilla de resultados toda la informacion requerida.
ahora bien, Cuando lo Ejecuto desde un ADOStoreProceude, no se como debo hacer para recuperar estos datos.

Alguna idea .
Muchas gracias y saludos para todos
Responder Con Cita
  #2  
Antiguo 28-07-2007
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
Pero por supuesto, :P, yo trabajo a duiario con Xml :P

Lamentablemente la recuperación del Xml no podrás hacerla desde los componentes ADO que tiene delphi, Deberás Importar el Activex de MDAC para tener acceso a la clase TStream de ADO

Este es un bloque de código de como hacer la recuperación del Xml generado por Sql server

Código Delphi [-]
 
procedure TForm1.Button2Click(Sender: TObject);
Var
  Connection     : ADODB_TLB.TConnection;
  Command        : ADODB_TLB.TCommand;
  Stream         : ADODB_TLB.TStream;
  Records,Params : OleVariant;
  LStlXmlDatos   : TStringList; //Almacena el Xml generado por SqlServer
begin
  Screen.Cursor := crSQLWait;
  Try
    LStlXmlDatos := TStringList.Create;
    ResultMemo.Lines.Text := '';
    Connection := ADODB_TLB.TConnection.Create(Self);
    Connection.Open('Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=AlertaExistencias;Data Source=Servidor',
                    'usaurio','password',0);
    Command := ADODB_TLB.TCommand.Create(Self);
    Command.DefaultInterface.Set_ActiveConnection(
      Connection.DefaultInterface);
    Command.DefaultInterface.CommandType := adCmdText;
    Command.DefaultInterface.CommandText := SQLMemo.Text; //Asigno la consulta

    Stream := ADODB_TLB.TStream.Create(Self);
    Stream.Open(EmptyParam,adModeUnknown,
      adOpenStreamUnspecified,'','');
    Command.DefaultInterface.Properties.Item[
      'Output Stream'].Value := Stream.DefaultInterface;
    Params := EmptyParam;
    Records := Unassigned;
     Command.DefaultInterface.Execute(Records,Params,
      adExecuteStream);
    ResultMemo.Lines.Text :=    Stream.ReadText(Integer(adReadAll));
    Stream.Free;
    Command.Free;
    Connection.Free;
  Finally
    Screen.Cursor := crDefault;
  End;
 If LStlXmlDatos <> Nil Then
   LStlXmlDatos.Free;
end;
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 28-07-2007
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Cita:
Empezado por poliburro

Lamentablemente la recuperación del Xml no podrás hacerla desde los componentes ADO que tiene delphi, Deberás Importar el Activex de MDAC para tener acceso a la clase TStream de ADO
Ok no tengo problema.. solo me interesaba saber si pueden ser recuperados. despues como se recuperen. es lo de menos.
Muchas gracias por tu ayuda y cualquier cosa molesto de nuevo
Responder Con Cita
  #4  
Antiguo 30-07-2007
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Poliburro, una pregunta, Que version del control tenes Utilizado?

Ya que a mi me da un error diciendo que las Extenciones (T.....) no existen!!!
de todas maneras estoy verificando que estoy usando los MDAC 2.8

saludos!!!!


Sabes que mi Archivo ADODB_TLB.pas, no tiene esos Tipos o Extenciones o como sea, seria posible Que me Zipees y me envies Tu archivo??

GRacias

Última edición por Enan0 fecha: 30-07-2007 a las 19:50:09.
Responder Con Cita
  #5  
Antiguo 31-07-2007
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Poliburro!! andas por ahi? bueno espero que puedas leer el post y comentarme a serca del Archivejo loco ADODB_TBL

Gracia!!!!
Responder Con Cita
  #6  
Antiguo 02-08-2007
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Unhappy Mil Perdones Poli!!!

Poli My Man!! Perdon por todos los hilos y el PM.

Estaba agregando Cualquier unidad.. ahi inclui el Componente (Importe) MDAC, Correspondiente a la version 2.7 y funciono de maravillas. por lo menos el recuperar el valor de la Consulta..

Perdon! pero creo que he tenido un momento de estupidez muy muy grande
jejej saludos y mil gracias!!
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
store procedures en firebird ale21alito Firebird e Interbase 2 30-11-2005 03:18:22
store desde store...? marceloalegre SQL 1 22-07-2005 23:44:26
store rdb$procedure_parameters failed to store dupli .... tulio Firebird e Interbase 2 11-06-2004 12:24:44
Lio con Procedures!!! diegofhernando Varios 8 12-11-2003 16:54:43
Sigo con la duda de los Store Procedures Sandochan Conexión con bases de datos 0 23-05-2003 07:21:37


La franja horaria es GMT +2. Ahora son las 18:50:15.


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