santiago14
14-03-2015, 13:58:33
Buenas, tengo una duda. Tengo la siguiente consulta:
Select a.cod_seccion, a.nombre_seccion From Secciones a
Where a.cod_seccion = :nro_seccion
Por otro lado, en mi formulario tengo dos LookUpComboBox: Combo1 y Combo2.
Ambos tienen sus respectivas ClientDataSet
Combo1 --> DataSource1 --> ClientDataSet1 --> DataSetProvider1 --> Query1
Combo2 --> DataSource2 --> ClientDataSet2 --> DataSetProvider2 --> Query1 (Están conectados a la misma consulta)
La única diferencia entre consultas es que el parámetro cambia, para el primer combo pido nro_seccion = 1 y para el segundo combo necesito los valores que devuelve la consulta con nro_seccion = 2
Cuando ejecuto esto, me dice "Datalink circular not allowed"
Quisiera saber como hacer para mostrar los datos en los distintos combos, pero los mismos provienen de la misma Query con un parámetro cambiado.
Muestro la ejecución de la consulta:
procedure TfrmBoletinRTF.FormCreate(Sender: TObject);
begin
inherited;
with DataModule1 do
begin
terminarTransaccion;
try
trxBoletin.StartTransaction;
cdsSecciones1.Params.ParamByName('nro_seccion').AsInteger:=1;
cdsSecciones1.Open;
cdsSecciones2.Params.ParamByName('nro_seccion').AsInteger:=2;
cdsSecciones2.Open;
trxBoletin.Commit;
except
on e:Exception do
begin
terminarTransaccion;
mErrores(e, 'No se pudieron recuperar las Secciones.',
self.Caption);
end;
end;
end;
end;
Espero se haya entendido y me den una mano. No sería bueno tener que hacer dos Querys solamente porque el parámetro cambie, la consulta es la misma.
Santiago.
Select a.cod_seccion, a.nombre_seccion From Secciones a
Where a.cod_seccion = :nro_seccion
Por otro lado, en mi formulario tengo dos LookUpComboBox: Combo1 y Combo2.
Ambos tienen sus respectivas ClientDataSet
Combo1 --> DataSource1 --> ClientDataSet1 --> DataSetProvider1 --> Query1
Combo2 --> DataSource2 --> ClientDataSet2 --> DataSetProvider2 --> Query1 (Están conectados a la misma consulta)
La única diferencia entre consultas es que el parámetro cambia, para el primer combo pido nro_seccion = 1 y para el segundo combo necesito los valores que devuelve la consulta con nro_seccion = 2
Cuando ejecuto esto, me dice "Datalink circular not allowed"
Quisiera saber como hacer para mostrar los datos en los distintos combos, pero los mismos provienen de la misma Query con un parámetro cambiado.
Muestro la ejecución de la consulta:
procedure TfrmBoletinRTF.FormCreate(Sender: TObject);
begin
inherited;
with DataModule1 do
begin
terminarTransaccion;
try
trxBoletin.StartTransaction;
cdsSecciones1.Params.ParamByName('nro_seccion').AsInteger:=1;
cdsSecciones1.Open;
cdsSecciones2.Params.ParamByName('nro_seccion').AsInteger:=2;
cdsSecciones2.Open;
trxBoletin.Commit;
except
on e:Exception do
begin
terminarTransaccion;
mErrores(e, 'No se pudieron recuperar las Secciones.',
self.Caption);
end;
end;
end;
end;
Espero se haya entendido y me den una mano. No sería bueno tener que hacer dos Querys solamente porque el parámetro cambie, la consulta es la misma.
Santiago.