با سلام
چگونه می شود کل اطلاعات یک فایل را در یک فیلد مثلا sql_variant بانک sql-server ذخیره و بعد بازیابی کرد؟
با تشکر
Printable View
با سلام
چگونه می شود کل اطلاعات یک فایل را در یک فیلد مثلا sql_variant بانک sql-server ذخیره و بعد بازیابی کرد؟
با تشکر
ذخیره کردن فایل توی دیتابیس معمولا پیشنهاد نمیشه مگر اینکه تعداد فایلها بسیار زیاد باشه
بهتره که فایل ها رو توی یه دایرکتوری جدا نگه داری بعد مسیرش رو توی دیتابیس ذخیره کنی
اگه خیلی دوست داری که توی بانک باشه از فیلد های blob استفاده کن
procedure LoadFileToVariantField(Field: TVariantField; const FileName: String);
var
FileStream: TFileStream;
StringStream: TStringStream;
begin
FileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
StringStream := TStringStream.Create('');
try
StringStream.CopyFrom(FileStream, 0);
Field.AsString := StringStream.DataString;
finally
StringStream.Free;
end;
finally
FileStream.Free;
end;
end;
procedure SaveVariantFieldToFile(Field: TVariantField; const FileName: String);
var
FileStream: TFileStream;
StringStream: TStringStream;
begin
FileStream := TFileStream.Create(FileName, fmCreate or fmShareExclusive);
try
StringStream := TStringStream.Create(Field.AsString);
try
FileStream.CopyFrom(StringStream, 0);
finally
StringStream.Free;
end;
finally
FileStream.Free;
end;
end;
حتما" روش بهتر و معقولتری هم پیدا میشه.
با سلام
از لطف شما خیلی متشکرم. مشکلم با استفاده از روش پیشنهادی شما و استفاده از adotableحل شد. فقط نمی دانم اگر بخواهم از دستورات sql و adoquery برای اضافه کردن رکورد به بانک اطلاعاتی استفاده کنم آیا راهی دارد؟
با تشکر
با فیلدهای Blob:
BlobStream := ClientDataSet1.CreateBlobStream(ClientDataSet1 blobfield,
bmRead);
حالا با blobstream که از نوع Tstream هست هر کاری بخاین میتونین بکنین
اگه متن باشه توی memo لود میکنین اگه عکس باشه...صدا...... هرچی...
برای نوشتن هم بجای bmread از bmwrite استفاده میکنیم و stream رو توی رکورد مینویسیم...
آقای کامبیز سلام
اگر ممکن است نحوه استفاده از کدها را توضیح دهید .
چطور و کجا باید استفاده شوند . در کدام رویداد و . . .
با تشکر
تاریخ پست ها را ببینید!!!!!!!!!نقل قول:
آقای کامبیز سلام
اگر ممکن است نحوه استفاده از کدها را توضیح دهید .
چطور و کجا باید استفاده شوند . در کدام رویداد و . . .