ورود

View Full Version : بازیابی فایل از sql



f.rezaei
چهارشنبه 06 مرداد 1389, 17:58 عصر
سلام

شاید موضوعی که مطرح می کنم تکراری باشه اما زیاد جستجو کردم اما راهنمایی مفیدی پیدا نکردم
ممنون میشوم اگر کسی می تونه یا راهنماییم کنه یا یک لینک برام معرفی کنید ممنون

من برای ثبت یک فابل متنی با پسوند rtf که در RXrichedit تایپ می شود از کد زیر استفاده می کنم:

ADOTable1.Open;
ADOTable1.Append;
stream := TMemoryStream.Create;
Editor.Lines.SaveToStream(stream);
TBlobField (ADOTable1.FieldByName('test') ).LoadFromStream(stream);
ADOTable1.FieldByName('onvan').Value := Edit1.Text;
ADOTable1.Post;



که فکر می کنم جواب می دهد و مشکلی ندارد

و برای بازیابی از کد زیر

ADOTable1.Active := True;
ADOTable1.Open;
ADOTable1.Edit;
stream := TMemoryStream.Create;
TBlobField (ADOTable1.FieldByName('test') ).SaveToStream(stream);
Editor.Lines.LoadFromStream(stream);
Edit1.Text:=ADOTable1.FieldByName('onvan').Value;

اما بازیابی جواب نمی دهد و در rxrichedit من نمایش داده نمی شود

ممنون می شودم که راهنماییم کنید و یا از یک روش دیگر راهنماییم کنید

MOJTABAATEFEH
چهارشنبه 06 مرداد 1389, 19:00 عصر
سلام

شاید موضوعی که مطرح می کنم تکراری باشه اما زیاد جستجو کردم اما راهنمایی مفیدی پیدا نکردم
ممنون میشوم اگر کسی می تونه یا راهنماییم کنه یا یک لینک برام معرفی کنید ممنون

من برای ثبت یک فابل متنی با پسوند rtf که در RXrichedit تایپ می شود از کد زیر استفاده می کنم:

ADOTable1.Open;
ADOTable1.Append;
stream := TMemoryStream.Create;
Editor.Lines.SaveToStream(stream);
TBlobField (ADOTable1.FieldByName('test') ).LoadFromStream(stream);
ADOTable1.FieldByName('onvan').Value := Edit1.Text;
ADOTable1.Post;



که فکر می کنم جواب می دهد و مشکلی ندارد

و برای بازیابی از کد زیر

ADOTable1.Active := True;
ADOTable1.Open;
ADOTable1.Edit;
stream := TMemoryStream.Create;
TBlobField (ADOTable1.FieldByName('test') ).SaveToStream(stream);
Editor.Lines.LoadFromStream(stream);
Edit1.Text:=ADOTable1.FieldByName('onvan').Value;

اما بازیابی جواب نمی دهد و در rxrichedit من نمایش داده نمی شود

ممنون می شودم که راهنماییم کنید و یا از یک روش دیگر راهنماییم کنید

دوست عزیز من با کد زیر کار می کنم جواب هم میده :

یک متغییر سراسری به صورت زیر تعریف نمایید :


Yourvar : TMemoryStream;


برای ذخیره در دیتابیس :


adoqouery1.Insert;
//Stream
Yourvar := TMemoryStream.Create;
Yourvar.Seek(0, 0);
Richedit1.Lines.SaveToStream(Yourvar);
Yourvar.Seek(0, 0);
adoqouery1Field1.LoadFromStream(Yourvar);
adoqouery1.Post;


بازیابی از دیتابیس پس از اجرای کوئری مورد نظرتون رو همان جدول :


Yourvar := TMemoryStream.Create;
Yourvar.Seek(0, 0);
adoqouery1Field1.SaveToStream(Yourvar);
Yourvar.Seek(0, 0);
Richedit1.Lines.LoadFromStream(Yourvar);
Yourvar.Free;


موفق باشید