Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, deberias poner el codigo fuente de CriaComponent. Ten en cuenta que si cria component es un procedure, entonces nunca te devolvera una string, tal como parece que estas esperando. Deberias hacer, entonces,

Código Delphi [-]
function CriaComponente(qtdCampoChave: Integer; nmTabela, SQL: string) : string;
begin

     ...
     CriaComponente := SQL;
end;

o bien hacer

Código Delphi [-]
procedure CriaComponente(qtdCampoChave : integer; nmTabela : string; var SQL string);
begin
   ...
   // modificar variable SQL
   ...
end;

var
   s : string;
begin
   CriaComponente(1,'test',s);
   ShowMessage(s); // s se ha modificado
end;

como digo, si pones el codigo fuente, nos entenderemos mejor un saludo
Responder Con Cita
  #2  
Antiguo 08-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
tambien puedes pasar un objeto query y una vez ejecutada la funcion, ver los resultados que tiene.

Código Delphi [-]
function CriaComponente(q : TAdoQuery; sql : string)
begin   
            ...
            q.Active := false;
            q.SQL.Text := sql
            if Pos('select',lowercase(sql)) <> 0 then 
              q.Active := true
            else
              q.ExecSQL;
end;

...

        CriaComponente(query1_a_consultar,...)
        showmessage(query1_a_consultar.FieldByName('total').asstring);
... // por ejemplo.
Responder Con Cita
  #3  
Antiguo 08-08-2008
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 23
Paulao Va por buen camino
Cita:
CriaComponente(4,'TB_MFD_CAPEADOR_REDUCAO','INSERT INTO TB_MFD_CAPEADOR_REDUCAO VALUES(' +
':PLoja,:PNu_Cx,:PDtMov,:PCoo,:PContReiOp,:PGeOpNFiscal,:PComprovCreDeb,' +
':PGerOpNFiscalCanc,:PGerRelGeren,:PContCCF,:PCCFCanc,:PContFitaDet,:PTotGeral,:PVendBrut,' +
':PCancICMS,:PDescICMS,:PTotISSQN,:PCancISSQN,:PDescISSQN,:PVendLiq,' +
':PAcreICMS,:PAcreISSQN,:PF1,:PI1,:PN1,:PFS1,:PIS1,:PNS1,:PCompNEmitido,' +
':PTempoEmit,:PTempoOper,:PMFD,:PNumRedRest,:PEquipamento,:PVersaoECF,' +
':PNumECF,:PParamECF,:PRel,:PBaseCalc,:PTotImposto,:PTotFormaPagReducao)');
Este es el fuente. Necesito saber el valor de SQL. Los valores de parametros de SQL viene del Client. Solo necesito saber lo que estas pasando por el.
Responder Con Cita
  #4  
Antiguo 08-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
pero...criacomponent de donde sale? no la has programado tu?
Responder Con Cita
  #5  
Antiguo 08-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
igualmente, si criacomponent modifica una query a la que tengas acceso, le deberian quedar los valores dentro del query una vez pasada la funcion.

Última edición por coso fecha: 08-08-2008 a las 20:31:15.
Responder Con Cita
  #6  
Antiguo 08-08-2008
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 23
Paulao Va por buen camino
Perdon, me olvide de poner el fuente corecto. Este es el fuente de CriaComponente. Estas en mi servidor de aplicaccion.
Cita:
procedure TRDM_Consulta.CriaComponente(qtdCampoChave: Integer; nmTabela,
SQL: string);
var
qry: TSQLQuery;
dsp: TDataSetProvider;
begin
qry := TSQLQuery.Create(Self);
dsp := TDataSetProvider.Create(Self);
qry.Name := 'qry' + nmTabela;
dsp.Name := 'dsp' + nmTabela;
qry.SQLConnection := qryGeral.SQLConnection;
qry.SQL.Text := SQL;
dsp.DataSet := qry;
dsp.Exported := True;
dsp.UpdateMode := upWhereKeyOnly;
dsp.Options := dsp.Options + [poAllowCommandText];

case qtdCampoChave of
1: qry.AfterOpen := qryAfterOpen1Key;
2: qry.AfterOpen := qryAfterOpen2Key;
3: qry.AfterOpen := qryAfterOpen3Key;
4: qry.AfterOpen := qryAfterOpen4Key;
5: qry.AfterOpen := qryAfterOpen5Key;
6: qry.AfterOpen := qryAfterOpen6Key;
7: qry.AfterOpen := qryAfterOpen7Key;
8: qry.AfterOpen := qryAfterOpen8Key;
end;

dsp.OnDataRequest := dspDataRequestParam;
end;
Em mi client yo paso los valores del Sql:
Cita:
if (dMov <> '') and (nCoo <> '') and (sCompNEmitido <> '') then
begin
DM_Create.ConectaMatriz;
with DM_Create.CDS_CapeReducao do
begin
Close;
Params[00].AsString := nLoja;
Params[01].AsString := sNu_Cx;
Params[02].AsString := dMov;
Params[03].AsString := nCoo;
Params[04].AsString := nContReiOp;
Params[05].AsString := nGeOpNFiscal;
Params[06].AsString := sComprovCreDeb;
Params[07].AsString := nGerOpNFiscalCanc;
Params[08].AsString := sGerRelGeren;
Params[09].AsString := nContCCF;
Params[10].AsString := nCCFCanc;
Params[11].AsString := nContFitaDet;
Params[12].AsString := nTotGeral;
Params[13].AsString := nVendBrut;
Params[14].AsString := sCancICMS;
Params[15].AsString := nDescICMS;
Params[16].AsString := nTotISSQN;
Params[17].AsString := sCancISSQN;
Params[18].AsString := nDescISSQN;
Params[19].AsString := nVendLiq;
Params[20].AsString := nAcreICMS;
Params[21].AsString := nAcreISSQN;
Params[22].AsString := sF1;
Params[23].AsString := sI1;
Params[24].AsString := sN1;
Params[25].AsString := sFS1;
Params[26].AsString := sIS1;
Params[27].AsString := sNS1;
Params[28].AsString := sCompNEmitido;
Params[29].AsString := sTempoEmit;
Params[30].AsString := sTempoOper;
Params[31].AsString := sMFD;
Params[32].AsString := nNumRedRest;
Params[33].AsString := sEquipamento;
Params[34].AsString := sVersaoECF;
Params[35].AsString := nNumECF;
Params[36].AsString := sParamECF;
Params[37].AsString := sRel;
Params[38].AsString := nBaseCalc;
Params[39].AsString := nTotImposto;
Params[40].AsString := nTotFormaPagReducao;

Execute;
......
Cambie todos por String, pero el eror es el mismo. Si yo paso directo CommandText, con los mismos valores, funciona. Pero por parametro y el CommandText en el Servidor de Aplicacion, entonces no funciona.
Responder Con Cita
  #7  
Antiguo 08-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
No le veo solucion aparte de las que ya te he comentado: pasarle un query tambien como parametro,

Código Delphi [-]
procedure TRDM_Consulta.CriaComponente(qtdCampoChave: Integer;nmTabela, SQL: string; qry : TSQLquery);
var
dsp: TDataSetProvider;
begin
   dsp := TDataSetProvider.Create(Self);
...
  dsp.DataSet := qry;
  dsp.Exported := True;
  dsp.UpdateMode := upWhereKeyOnly;
  dsp.Options := dsp.Options + [poAllowCommandText];
...

o bien que te devuelva un query

Código Delphi [-]
function TRDM_Consulta.CriaComponente(qtdCampoChave: Integer;nmTabela, SQL: string) : TSQLquery;
var
  qry: TSQLQuery;
  dsp: TDataSetProvider;
begin
  qry := TSQLQuery.Create(Self);
  dsp := TDataSetProvider.Create(Self);
  qry.Name := 'qry' + nmTabela;
  dsp.Name := 'dsp' + nmTabela
...
  dsp.OnDataRequest := dspDataRequestParam;
  CriaComponente := qry;
end;

ten en cuenta que en tu funcion no liberas qry ni dsp, por lo que la estas creando incontables veces.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Sebastián -va en metro al trabajo y dice tener su despacho a 26 grados marcoszorrilla La Taberna 5 06-07-2008 07:46:36
Error con fecha (fecha ya pasada) Rancy Varios 2 01-07-2008 08:37:47
Publicitan Ubuntu en el metro de Berlín. Casimiro Noteví La Taberna 2 25-09-2007 08:09:21
El Gobierno regional culpa a los viajeros de los retrasos que sufre el metro marcoszorrilla La Taberna 7 23-01-2007 10:40:14
como capturar el dia de la semana bill_mg Varios 2 07-08-2006 15:49:18


La franja horaria es GMT +2. Ahora son las 00:46:32.


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