Buen día a todos...
Soy nuevo en el foto y estuve revisando las diferentes secciones y no se si aquí sea la correcto para postear mi duda, en caso de que no lo sea, una disculpa.
Mi duda es la siguiente, tengo mi componente FDQuery, en la cual tengo una consulta la que anteriormente elabore dentro de mi SQL Server y corre de manera correcta, la paso a mi FDQuery y de igual forma la ejecuta de manera correcta, pero cambie los valores que había puesto por default por un parámetro, ya que mi idea es pasarle una cadena string a un parámetro al FDQuery, cuando hago eso ya no me devulve nada de la consulta. Pondré los ejemplos de la consulta en mi FDQuery (con el parámetro) y mi código donde paso mi cadena string al parámetro del FDQuery.
--------------------------- Consulta FDQuery -------------------------------------------------------------------------
Código SQL
[-]select ISNULL(sp.sol_polizaID,'-') as POLIZA, ISNULL(sc.sco_solicitud,'-') as SOLICITUD, cc.cfd_comprobacion as COMPROBACION, cp.cfd_fechaEmision as FECHA_EMISION,
cp.cfd_emisor as A_NOMBRE_DE, cp.cfd_uuid as UUID_INGRESO, cp.cfd_tipoDeComprobante as TIPO_DE_COMPROBANTE, cp.cfd_total as MONTO,
ISNULL (cp.cfd_importePagado, 0) as IMPORTE_PAGADO,
ISNULL(cp.cfd_saldoInsoluto, cp.cfd_total) as SALDO_PENDIENTE, ISNULL(sp.sol_folioContabilizacion,'-') as ENLACE_COI, mpr.emp_descripcion as EMPRESA,
dp.dep_descripcion as DEPARTAMENTO, emp.emp_codigo as CLAVE_USUARIO,
CONCAT (emp.emp_nombre,' ',emp.emp_appaterno,' ', emp.emp_apmaterno) as USUARIO, st.sta_descripcion as ESTATUS, cp.cfd_uuid_pago as UUID_PAGO,
'-' as FECHA_LIMITE
from cfd_pagos cp
join comprobacion_cfd cc
on cp.cfd_uuid = cc.cfd_uuid
left join solicitud_comprobacion sc
on cc.cfd_comprobacion = sc.sco_comprobacion
join comprobacion_gasto cg
on cc.cfd_comprobacion = cg.com_id
join departamentos dp
on cg.com_depto_id = dp.dep_codigo
join usuarios us
on cg.com_usuario = us.usr_codigo
join empleados emp
on us.usr_empleado = emp.emp_codigo
join empresas mpr
on cg.com_emp_id = mpr.emp_id
join r_status st
on cp.cfd_estatus = st.sta_id
left join solicitud_pago sp
on sc.sco_solicitud = sp.sol_id
where cp.cfd_metodoPago = 'PPD' and cc.cfd_estado = 1 and
cp.cfd_uuid in (:cadena_parametro)
union all
select '-' as poliza, '-' as solicitud, '-' as comprobacion, cfd_fechaEmision, cfd_emisor,
cfd_uuid, cfd_tipoDeComprobante, 0 as total, cfd_importePagado as ImportePagado, cfd_saldoInsoluto as saldoInsoluto, '-' as enlaceCOI,
'-' as empresa, '-' as departamento, '-' as clave_usuario, '-' as usuario, sta_descripcion,
cfd_uuid_pago, '-' as fechaLimite
from cfd_pagos
join r_status
on cfd_estatus = sta_id
where cfd_uuid_pago in (:cadena_parametro) and cfd_tipoDeComprobante = 'P'
order by cfd_uuid_pago
----------------- Codigo donde paso el parametro al FDQuery --------------------------------------
Código Delphi
[-]procedure TFConsultAdminPagos.btnRefrescarClick(Sender: TObject);
var
selection, arr_cfd_uuid : String;
begin
MClient.FDMCFDPagosXPPD.First;
while not MClient.FDMCFDPagosXPPD.Eof do
begin
if MClient.FDMCFDPagosXPPDcheck_sta.AsInteger = MOD_ACTIVO then
begin
if arr_cfd_uuid <> '' then
arr_cfd_uuid := arr_cfd_uuid + ', ';
arr_cfd_uuid := arr_cfd_uuid + QuotedStr(MClient.FDMCFDPagosXPPDcfd_uuid.AsString);
selection := 'SI';
end
else
begin
if selection <> 'SI' then
begin
selection := 'NO';
end;
end;
MClient.FDMCFDPagosXPPD.Next;
end;
if selection = 'NO' then
begin
msgbox('INFORMACIÓN','No se puede crear el documento debido a que no hay ningún registro seleccionado.',mtInformation,['OK'])
end
else
begin
FDQConsultaExportAdminPagos.Close;
FDQConsultaExportAdminPagos.ParamByName('cadena_parametro').AsString := arr_cfd_uuid;
FDQConsultaExportAdminPagos.Open();
FDQConsultaExportAdminPagos.Active := true;
msgbox('INFORMACIÓN','Se realizó la exportación de los registros.',mtInformation,['OK']);
end;
end;
----------------
el valor que contendría la variable arr_cfd_uuid := '''0D53DAD8-532B'', ''2519088A-ED56-4957'', ''9bc8dfcc-8bfb-4608'''
De antemano agradezco su apoyo y espero haber sido claro en mi explicación.
Saludos.