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

نام تاپیک: ذخیره عکس از Image در بانک

  1. #1
    کاربر دائمی آواتار حسین خانی
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    قزوین
    پست
    184

    ذخیره عکس از Image در بانک

    با سلام
    اول اینو بگم که در این رابطه جستجو کرده ام ، بیشتر مطالب ذخیره با استفاده از متد LoadFromFile بود !

    با کد زیر کارم راه افتاد :

      var
    BlobStream: TStream;
    begin
    ADOQuery1.Insert;
    //----
    BlobStream := ADOQuery1.CreateBlobStream(ADOQuery1.FieldByName(' pic'), bmWrite);
    try
    Image1.Picture.Graphic.SaveToStream(BlobStream);
    finally
    BlobStream.Free;
    end;
    //---
    ADOQuery1id.Value:=StrToInt(Edit1.Text);
    ADOQuery1name.Value:=(Edit2.Text);
    ADOQuery1.Post;
    end;
    ولی اگر در رکوردی نخواهم عکس را هم ذخیره کنم Error زیر را میدهد ! چرا ؟
    کجای کد ایراد دارد ؟
    عکس های ضمیمه عکس های ضمیمه

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    كاشان
    سن
    35
    پست
    315

    نقل قول: ذخیره عکس از Image در بانک

    سلام
    چرا شما از adotabel استفاده نمی کنید؟

  3. #3

    نقل قول: ذخیره عکس از Image در بانک

    درود :
    1) بهتره از Adotable یا adodataset استفاده کنی .
    2) بهتره از همون روش ذخیره آدرس استفاده کنی، چون هم حجم بانک کمتر میشه و هم سرعت خواندن و نوشتن بیشتر میشه .
    3) با توجه به نوع متغییر ها و نوع نوشتنت، نمی تونی مقدار Null قرار بدی . بهتره اول وجود عکس را امتحان کنی یا از دستورات خطا گیری استفاده کنی .

  4. #4

    نقل قول: ذخیره عکس از Image در بانک

    ولی اگر در رکوردی نخواهم عکس را هم ذخیره کنم Error زیر را میدهد ! چرا ؟
    برای این که نخوای عکس ذخیره بشه چیکار می کنی ؟!
    ...

  5. #5
    کاربر دائمی آواتار حسین خانی
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    قزوین
    پست
    184

    نقل قول: ذخیره عکس از Image در بانک

    نقل قول نوشته شده توسط mehdimdp مشاهده تاپیک
    سلام
    چرا شما از adotabel استفاده نمی کنید؟
    این یه کد تمرینی است دوست عزیز و تازه سئوال من این نبود !
    بهتره از همون روش ذخیره آدرس استفاده کنی
    کدام روش ؟
      چون هم حجم بانک کمتر میشه و هم سرعت خواندن و نوشتن بیشتر میشه . 
    چرا ؟
    یا از دستورات خطا گیری استفاده کنی .     
    کجاشو و چطوری کنترل کنم ؟

  6. #6
    کاربر دائمی آواتار حسین خانی
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    قزوین
    پست
    184

    نقل قول: ذخیره عکس از Image در بانک

    نقل قول نوشته شده توسط Mahmood_N مشاهده تاپیک
    برای این که نخوای عکس ذخیره بشه چیکار می کنی ؟!
    ...
    خوب اگر کد Error نده بایستی مابقی فیلدهای رکورد به جزء فیلد عکس در بانک ذخیره بشه !
    ولی با وجود این Error عمل درج انجام نمیشه !!!

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    كاشان
    سن
    35
    پست
    315

    نقل قول: ذخیره عکس از Image در بانک

    نقل قول نوشته شده توسط hossein.kh مشاهده تاپیک
    بهتره از همون روش ذخیره آدرس استفاده کنی
    کدام روش ؟
    در این روش شما میای فقط آدرس عکسها رو در بانک ذخیره میکنی .
    نقل قول نوشته شده توسط hossein.kh مشاهده تاپیک
      چون هم حجم بانک کمتر میشه و هم سرعت خواندن و نوشتن بیشتر میشه . 
    چرا ؟
    ؟
    خب معلومه دیگه
    شما به جای اینکه بیای یک عکس 500کیلوبایتی رو در بانک ذخیره کنی، میای فقط آدرس اونو که از نوع رشته ای که فکر نمی کنم حجم از بیشتر از یک کیلوبایت بشه رو در بانک ذخیره میکنی

  8. #8
    کاربر دائمی آواتار حسین خانی
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    قزوین
    پست
    184

    نقل قول: ذخیره عکس از Image در بانک

    نقل قول نوشته شده توسط mehdimdp مشاهده تاپیک
    در این روش شما میای فقط آدرس عکسها رو در بانک ذخیره میکنی .

      چون هم حجم بانک کمتر میشه و هم سرعت خواندن و نوشتن بیشتر میشه . 
    چرا ؟

    خب معلومه دیگه
    شما به جای اینکه بیای یک عکس 500کیلوبایتی رو در بانک ذخیره کنی، میای فقط آدرس اونو که از نوع رشته ای که فکر نمی کنم حجم از بیشتر از یک کیلوبایت بشه رو در بانک ذخیره میکنی
    ممنون دوست عزیز حق با شماست ، اما من میخواهم عکس در بانک ذخیره شود و نه مسیر عکس .

    توضیح بیشتر :
    یعنی با استفاده از OpenDialog عکس رو انتخاب کنم و عکس انتخابی در Image نمایش داده بشه و با زدن دکمه ثبت اطاعات یک رکورد به همراه عکس با استفاده از کد بالا در بانک درج شود . و اگر رکوردی فاقد عکس بود مابقی در فیلدهای مربوطه درج شود !

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1388
    محل زندگی
    جزيره كيش
    سن
    53
    پست
    61

    نقل قول: ذخیره عکس از Image در بانک

    سلام دوست عزيز
    من فكر ميكنم اگه شما تو كدي كه نوشتي قبل از Finally يه سطر Except هم اضافه كني و هيچ دستوري هم در قسمت Except ننويسي اونوقت در زمان اجرا با دلفي پيغام خطا ميگيري ولي وقتي Exe برنامت رو اجرا ميكني ديگه پيغام خطا نميده مگه اينكه مشكل جاي ديگه اي باشه.
    موفق باشي

  10. #10

    نقل قول: ذخیره عکس از Image در بانک

    برای ذخیره و خواندن عکس اگه بتونی وجود اون رو امتحان کنی خیلی بهتره ولی اگه میخوای با خطا گیری کار کنی ،می تونی از دستور Try... Except استفاده کنی :
    Try
    دستورات مورد نظر
    except on E: Exception do
    اگه می خوای پیغام مورد نظر
    end

  11. #11

    نقل قول: ذخیره عکس از Image در بانک

    خوب اگر کد Error نده بایستی مابقی فیلدهای رکورد به جزء فیلد عکس در بانک ذخیره بشه !
    ولی با وجود این Error عمل درج انجام نمیشه !!!
    شما باید برای ثبت تصویر در بانک شرطی برای چک کردن وجود تصویر قرار بدید ، مثال :
    var
    BlobStream: TStream;
    begin
    ADOQuery1.Insert;
    //----
    if not Image1.Picture.Graphic.Empty then
    begin
    BlobStream := ADOQuery1.CreateBlobStream(ADOQuery1.FieldByName(' pic'), bmWrite);
    try
    Image1.Picture.Graphic.SaveToStream(BlobStream);
    finally
    BlobStream.Free;
    end;
    end;
    //---
    ADOQuery1id.Value:=StrToInt(Edit1.Text);
    ADOQuery1name.Value:=(Edit2.Text);
    ADOQuery1.Post;
    end;

    هر وقت هم خواستید تصویر ذخیره نشه کافیه که تصویر درون Image1 رو حذف کنید ...

    موفق باشید ...

  12. #12
    کاربر دائمی آواتار حسین خانی
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    قزوین
    پست
    184

    نقل قول: ذخیره عکس از Image در بانک

    ممنون از دوستان به خاطر زمانی که صرف حل این مشکل کرده اند !

    جناب Mahmood_N موقعی که عکسی برای ذخیره وجود ندارد باز هم همان Error را می دهد !

  13. #13
    کاربر دائمی آواتار حسین خانی
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    قزوین
    پست
    184

    نقل قول: ذخیره عکس از Image در بانک

    بلاخره با توضیحی که pezhvakco دادند مشکل این کد حل شد .

    ممنون و سپاس از راهنمایی همه دوستان گرامی ...

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

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