PDA

View Full Version : ثبت فایل در بانک



free
دوشنبه 10 مهر 1385, 11:09 صبح
سلام
میخوام یک فایل (مثلا عکس یا فایل ورد) را در یک فیلد از نوع image در sql server ثبت کنم. در اکسس با blob کار می کردم اما در sql server با چه روشی می تونم این کار را انجام بدم.
جستجو هم کردم اما نتونستم از اون کدها استفاده کنم.
مرسی

Touska
دوشنبه 10 مهر 1385, 12:53 عصر
نوع فیلد از نوع image بزار مشکلت حله :)

هر چیزی که از نوع Stream باشه می تونی توش ذخیره و سپس Load کنید.

موفق باشید :)

sarvestan
دوشنبه 10 مهر 1385, 13:53 عصر
یه نگاهی به sample که برات نوشتم بنداز!
همراه با بانک sql گذاشتم!

free
سه شنبه 11 مهر 1385, 09:59 صبح
مرسی و خیلی ممنون دوستان
مثاله جالبی بود. من فقط از adoconnection و adoquery استفاده می کنم. باید حتما برای ثبت فایل در بانک از ADOCommand استفاده کرد؟

Touska
سه شنبه 11 مهر 1385, 10:09 صبح
مرسی و خیلی ممنون دوستان
مثاله جالبی بود. من فقط از adoconnection و adoquery استفاده می کنم. باید حتما برای ثبت فایل در بانک از ADOCommand استفاده کرد؟



Mem := TmemoryStream.Create;
Image1.Picture.SavetoStream(Mem);
Mem.Position := 0;
Adoquery1Pic.LoadFromStream(Mem);
Mem.Free;

sarvestan
سه شنبه 11 مهر 1385, 10:20 صبح
نیازی به استفاده اجباری از adoCommand نیست!
از adoQuery هم میتونی استفاده کنی!

Mah6447
سه شنبه 11 مهر 1385, 14:53 عصر
دوستان ؛ آیا می شود فایلهای صوتی مانند MP3 را در بانک SQL ثبت کرد ؟
نوع فیلد چه باید باشد ؟ در صورت امکان با یک مثال راهنمایی نمایید ...

sarvestan
سه شنبه 11 مهر 1385, 15:02 عصر
یک تاپیک جدید باز می کردید بهتر بود!
البته اگر قبلش سرچ می فرمودید که صد البته بهتر تر هم می شد! :لبخند:

ولی جواب:
بله می شود!
Sample گویا هست!
نوع فیلد DataBase را از نوع image قرار دهید

شاد و پیروز

free
پنج شنبه 13 مهر 1385, 08:45 صبح
ممنون از همه دوستان
آقای سرباززاده mem یک متغییر از نوع Tstream می باشد؟؟؟

arash_ebrahimi_nk
پنج شنبه 13 مهر 1385, 09:58 صبح
ممنون از همه دوستان
آقای سرباززاده mem یک متغییر از نوع Tstream می باشد؟؟؟

فکر میکنم در اولین خط از کد نوشته شده از چه نوعی است (TMemoryStream).

free
پنج شنبه 13 مهر 1385, 10:01 صبح
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;