Estimados buenas tardes ... una duda ..
Deseo hacer una consulta multi tabla, en el cual hice lo siguiente en el manejadr de base d datos llamado HeidySQL la siguiente consulta:
SELECT ctrlont.INDEX_ID , ctrlont.VLAN_ID, ctrlont.FRAME_ID, ctrlont.SLOT_ID, ctrlont.PORT_ID, ctrlont.ONT_ID, ctrlont.CONT_CL, clientes.NOM_CL, clientes.APPAT_CL, clientes.APMAT_CL, ctrlont.ZONA_CL, ctrlont.COLOR_CL, clientes.COL_CL, clientes.CALLE_CL, onts.MAC_ONT, onts.MOD_ONT, onts.IP_ONT, ctrlont.FOLIO FROM ctrlont INNER JOIN clientes ON ctrlont.FOLIO = clientes.FOLIO INNER JOIN onts ON ctrlont.FOLIO = onts.FOLIO ORDER BY ctrlont.INDEX_ID ASC
El cual todo salió muy bien .. el detalle salio al implementarlo en Delphi (D7), hice los siguiente:
var SQLTEXT : string;
Begin
..
.
with DMod1.ADOQueryCtrlONT do
begin
SQLTEXT:='SELECT ctrlont.INDEX_ID , ctrlont.VLAN_ID, ctrlont.FRAME_ID, ctrlont.SLOT_ID, ctrlont.PORT_ID, ctrlont.ONT_ID, ctrlont.CONT_CL, clientes.NOM_CL, clientes.APPAT_CL, clientes.APMAT_CL, ctrlont.ZONA_CL, ctrlont.COLOR_CL, clientes.COL_CL, onts.MAC_ONT, onts.MOD_ONT, onts.IP_ONT, ctrlont.FOLIO ';
SQLTEXT:= SQLTEXT + 'FROM CTRLONT ';
SQLTEXT:= SQLTEXT + 'INNER JOIN clientes ON ctrlont.FOLIO = clientes.FOLIO ';
SQLTEXT:= SQLTEXT + 'INNER JOIN onts ON ctrlont.FOLIO = onts.FOLIO ';
SQLTEXT:= SQLTEXT + 'ORDER BY ctrlont.INDEX_ID ASC ';
Active:= False;
Close;
SQL.Clear;
SQL.Add(SQLTEXT);
Open;
Active:= True;
end;
// ---------------------------------
ClientDataSet1.Close;
ClientDataSet1.SetProvider(DMod1.DataSetProviderCtrlONT);
ClientDataSet1.Open;
// ---------------------------------
Pero al compilar el programa me envía el siguiente mensaje ...
[Error] xxxx.pas(67): String literals may have at most 255 elements Entiendo que se trata de que es una cadena muy grande para este tipo de variable, pero cual seria la mejor opción para este tipo de consulta, ya estoy consultando 3 tablas diferentes en donde todas ellas el campo FOLIO existe en cada una de ellas.
Como explique en el manejador sale bien, solo en delphi manda ese mensaje.
Gracias anticipadas por su comentarios !!