santus
16-04-2008, 16:16:07
Hola Amigos!.. bien, me encuentro en un pequeño problema.
Quiero llenar unos valores de la base de datos a un TstringList. Esto es, una lista guardada con el método TStringList.SaveToStream , y de ahi lo guardo en la base de datos como un campo Blob. El Guardado lo hace correctamente. Ahora me gustaría recuperar esa lista de valores pero no consigo hacerlo. Seguro que es un error de lógica.. paso a mostrarles mi procedimiento.
procedure TfPropiedades.cargarPlanoBase(aFieldBlob: TField);
var
lista : TStringList;
stream : TStream;
I: Integer;
begin
lista := TStringList.Create;
stream := TMemoryStream.Create;
try
TBlobField(aFieldBlob).SaveToStream(stream);
if (stream.Size > 0) then begin
// hasta aquí entra. Los datos me llegan correctamente desde la base.
lista.LoadFromStream(stream);
for I := 0 to lista.Count - 1 do begin
// Aqui ya no entra. Resulta que el valor de lista.Count es 0
end;
end;
finally
lista.Free;
stream.Free;
end;
end;
tengo delphi 2007 y la base es Mysql y me conecto con DBX por las dudas que sea algo de la base aunque como dije, no creo porque haciendo un debug los datos llegan correctamente.
Cualquier cosa que se les ocurra me ayudaría un monton.
Gracias a todos!!!
Quiero llenar unos valores de la base de datos a un TstringList. Esto es, una lista guardada con el método TStringList.SaveToStream , y de ahi lo guardo en la base de datos como un campo Blob. El Guardado lo hace correctamente. Ahora me gustaría recuperar esa lista de valores pero no consigo hacerlo. Seguro que es un error de lógica.. paso a mostrarles mi procedimiento.
procedure TfPropiedades.cargarPlanoBase(aFieldBlob: TField);
var
lista : TStringList;
stream : TStream;
I: Integer;
begin
lista := TStringList.Create;
stream := TMemoryStream.Create;
try
TBlobField(aFieldBlob).SaveToStream(stream);
if (stream.Size > 0) then begin
// hasta aquí entra. Los datos me llegan correctamente desde la base.
lista.LoadFromStream(stream);
for I := 0 to lista.Count - 1 do begin
// Aqui ya no entra. Resulta que el valor de lista.Count es 0
end;
end;
finally
lista.Free;
stream.Free;
end;
end;
tengo delphi 2007 y la base es Mysql y me conecto con DBX por las dudas que sea algo de la base aunque como dije, no creo porque haciendo un debug los datos llegan correctamente.
Cualquier cosa que se les ocurra me ayudaría un monton.
Gracias a todos!!!