سلام
میخوام یک فایل (مثلا عکس یا فایل ورد) را در یک فیلد از نوع image در sql server ثبت کنم. در اکسس با blob کار می کردم اما در sql server با چه روشی می تونم این کار را انجام بدم.
جستجو هم کردم اما نتونستم از اون کدها استفاده کنم.
مرسی
سلام
میخوام یک فایل (مثلا عکس یا فایل ورد) را در یک فیلد از نوع image در sql server ثبت کنم. در اکسس با blob کار می کردم اما در sql server با چه روشی می تونم این کار را انجام بدم.
جستجو هم کردم اما نتونستم از اون کدها استفاده کنم.
مرسی
نوع فیلد از نوع image بزار مشکلت حله :)
هر چیزی که از نوع Stream باشه می تونی توش ذخیره و سپس Load کنید.
موفق باشید :)
یه نگاهی به sample که برات نوشتم بنداز!
همراه با بانک sql گذاشتم!
آخرین ویرایش به وسیله sarvestan : دوشنبه 10 مهر 1385 در 14:00 عصر دلیل: مشکل در فایل آپلودی
مرسی و خیلی ممنون دوستان
مثاله جالبی بود. من فقط از adoconnection و adoquery استفاده می کنم. باید حتما برای ثبت فایل در بانک از ADOCommand استفاده کرد؟
نوشته شده توسط free
Mem := TmemoryStream.Create;
Image1.Picture.SavetoStream(Mem);
Mem.Position := 0;
Adoquery1Pic.LoadFromStream(Mem);
Mem.Free;
نیازی به استفاده اجباری از adoCommand نیست!
از adoQuery هم میتونی استفاده کنی!
دوستان ؛ آیا می شود فایلهای صوتی مانند MP3 را در بانک SQL ثبت کرد ؟
نوع فیلد چه باید باشد ؟ در صورت امکان با یک مثال راهنمایی نمایید ...
یک تاپیک جدید باز می کردید بهتر بود!
البته اگر قبلش سرچ می فرمودید که صد البته بهتر تر هم می شد!![]()
ولی جواب:
بله می شود!
Sample گویا هست!
نوع فیلد DataBase را از نوع image قرار دهید
شاد و پیروز
ممنون از همه دوستان
آقای سرباززاده mem یک متغییر از نوع Tstream می باشد؟؟؟
فکر میکنم در اولین خط از کد نوشته شده از چه نوعی است (TMemoryStream).نوشته شده توسط free
ok
ممنون از همه دوستان بالاخره درست شد. اینم کد کامل شده ی ذخیره و بازیابی یک عکس (فایل) در بانک sql :
ذخیره:
procedure TForm1.Button2Click(Sender: TObject);
var
Stream: TStream;
begin
ADOQuery1.Close;
ADOQuery1.Open;
ADOQuery1.Insert;
Stream := ADOQuery1.CreateBlobStream(ADOQuery1.FieldByName(' pic'), bmWrite);
try
Image1.Picture.Graphic.SaveToStream(Stream);
finally
Stream.Free;
end;
ADOQuery1.Post;
ADOQuery1.Close;
end;
بازیابی:
procedure TForm1.Button3Click(Sender: TObject);
var
Stream: TStream;
begin
ADOQuery1.Close;
ADOQuery1.Open;
Stream := ADOQuery1.CreateBlobStream(ADOQuery1.FieldByName(' pic'), bmRead);
try
Image2.Picture.Graphic.LoadFromStream(Stream);
finally
Stream.Free;
end;
end;