Ver la Versión Completa : Como Clonar un ibDataset????
AGAG4
18-10-2004, 22:52:46
Alguien sabe como Clonar un ibDataset, esto lo quiero con la finalidad de hacer busquedas a un ibDataset sin mover el Cursor.
Agradezco cualquier sugerencia.
Neftali [Germán.Estévez]
19-10-2004, 10:26:39
Alguien sabe como Clonar un ibDataset, esto lo quiero con la finalidad de hacer busquedas a un ibDataset sin mover el Cursor.
No hay que clonarlo, simplemente crea un nuevo componente de la misma clase que el primero y asignale las mismas propiedades (conexión, nombre de tabla/consulta SQL,...) con ésto obtendrás otro DataSet sobre los mismos datos que el primero.
AGAG4
19-10-2004, 16:24:30
ok. Gracias Neftali.
gendelphi
20-10-2004, 07:34:35
Buen dia.
Otra forma de hacer busquedas, o mover el cursor, sinque los controles visuales lo reflejen es asi:
IBDataSet1.DisableControls;
y se regresan con:
IBDataset1.EnableControls;
frudolph
28-10-2004, 17:21:36
Otra opción es utilizando un Componente TDatalink (es mucho más rápido ya que se mueve por el Buffer del DataSet y sin estar conectado a control alguno):
procedure Tform1.Recorrer(DataSet: TDataSet);
var
D: TDataLink;
n: Integer;
begin
D := TDataLink.Create; // No recuerdo si hacía falta algún parámetro
D.DataSource := TDataSource.Create(nil);
try
D.DataSource.DataSet := DataSet;
D.BufferCount := DataSet.RecordCount; // Esto es necesario para poder recorrer todos los registros
for n := 0 to D.BufferCount - 1 do
begin
ActiveRecord := n; // Funciona como el DataSet.Next;
// Para ver los valores de los campos utiliza
// D.DataSet['nombre_del_campo'] ó
// D.DataSet.FieldByName('nombre_del_campo').As..., etc.
end;
finally
D.DataSource.Free;
D.Free;
end;
end;
(Disculpá la demora en constestar, pero recién volví a l foro la semana pasada. Espero que te sirva...) ;)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.