نمایش نتایج 1 تا 7 از 7

نام تاپیک: ذخیره کل یک فایل در یک فیلد بانک اطلاعاتی

  1. #1
    مهمان

    ذخیره کل یک فایل در یک فیلد بانک اطلاعاتی

    با سلام
    چگونه می شود کل اطلاعات یک فایل را در یک فیلد مثلا sql_variant بانک sql-server ذخیره و بعد بازیابی کرد؟
    با تشکر

  2. #2
    مهمان
    ذخیره کردن فایل توی دیتابیس معمولا پیشنهاد نمیشه مگر اینکه تعداد فایلها بسیار زیاد باشه
    بهتره که فایل ها رو توی یه دایرکتوری جدا نگه داری بعد مسیرش رو توی دیتابیس ذخیره کنی
    اگه خیلی دوست داری که توی بانک باشه از فیلد های blob استفاده کن

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    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;


    حتما" روش بهتر و معقولتری هم پیدا می‌شه.

  4. #4
    مهمان
    با سلام
    از لطف شما خیلی متشکرم. مشکلم با استفاده از روش پیشنهادی شما و استفاده از adotableحل شد. فقط نمی دانم اگر بخواهم از دستورات sql و adoquery برای اضافه کردن رکورد به بانک اطلاعاتی استفاده کنم آیا راهی دارد؟
    با تشکر

  5. #5
    مهمان
    با فیلدهای Blob:
     BlobStream := ClientDataSet1.CreateBlobStream(ClientDataSet1  blobfield,
    bmRead);

    حالا با blobstream که از نوع Tstream هست هر کاری بخاین میتونین بکنین
    اگه متن باشه توی memo لود میکنین اگه عکس باشه...صدا...... هرچی...
    برای نوشتن هم بجای bmread از bmwrite استفاده میکنیم و stream رو توی رکورد مینویسیم...

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    310
    آقای کامبیز سلام
    اگر ممکن است نحوه استفاده از کدها را توضیح دهید .
    چطور و کجا باید استفاده شوند . در کدام رویداد و . . .
    با تشکر

  7. #7
    آقای کامبیز سلام
    اگر ممکن است نحوه استفاده از کدها را توضیح دهید .
    چطور و کجا باید استفاده شوند . در کدام رویداد و . . .
    تاریخ پست ها را ببینید!!!!!!!!!


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •