+ + Asterix + + Cdt

Registrado: 20 Oct 2005Mensajes: 16
|
Publicado: Mar 31 Ene, 2006 3:32 am Asunto: Meter Texto(Parrafo Extenso) en Campo Blob |
|
|
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" |
|