Mensaje    Asunto: Meter Texto(Parrafo Extenso) en Campo Blob Responder citando

miren este codigo es para meter texto o un parrafo extenso a la BD teniendo un campo BLOB, cargandolo de un TMemo.

para meter el texto o parrafo a la BD seria:

TMemoryStream *Stream = new TMemoryStream ;

Query1->SQL->Text = "SELECT * FROM ALUMNOS";
Query1->Open();

Query1->SQL->Text = "INSERT INTO ALUMNOS(TEXTO)"
"VALUES(:foto)";


Memo1->Lines->SaveToStream( Stream );
Stream->Seek( 1 ,soFromBeginning );

Query1->Params->Items[0]->LoadFromStream( Stream, ftBlob );
Query1->ExecSQL();

delete Stream;


para sacar el texto de la base de datos, visualizandolo , en un TMemo
seria:

TBlobStream *Stream;
char * Buffer;
Query1->SQL->Text = "SELECT * FROM ALUMNOS";
Query1->Open();

Stream = new TBlobStream( (TBlobField *)Query1->Fields->Fields[0], bmRead);
Buffer = new char[ Stream->Size ];

Stream->Read(Buffer, Stream->Size);
Memo2->SetTextBuf( Buffer );

delete Stream;
delete Buffer;


Teniendo en cuenta que utilize MYSQL y el campo BLOB lo declare como LONGBLOB que soporta hasta 16 MB si no me equivoco, bueno espero q les sirva.

ATTE

+ + Obelix + +

"EL CONOCIMEINTO HUMANO PERTENCE AL MUNDO"