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

نام تاپیک: ذخیره رکوردها در دیتابیس به شکل فیلد BLOB

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

    Tick ذخیره رکوردها در دیتابیس به شکل فیلد BLOB

    در اینجا فرض بر این است که خواننده با رکوردها در دلفی آشنایی دارد. هدف از این نوشتار، بیان روشی برای ذخیره و بازیابی رکوردها در دیتابیس به شکل فیلد BLOB می باشد.

    فرض کنید رکوردی به شکل زیر تعریف شده است:


    TUser = packed record
    Name : string[50];
    CanAsk : boolean;
    NumberOfQuestions : integer;
    end;

    برای درج رکوردی جدید در جدولی که دارای یک فیلد BLOB با نام "data" است، می توان از کد زیر استفاده کرد:


    var
    User : TUser;
    blobF : TBlobField;
    bs : TStream;
    begin
    User.Name := edName.Text;
    User.NumberOfQuestions := StrToInt(edNOQ.Text) ;
    User.CanAsk := chkCanAsk.Checked;

    myTable.Insert;

    blobF := myTable.FieldByName('data') as TBlobField;
    bs := myTable.CreateBlobStream(blobF, bmWrite) ;
    try
    bs.Write(User,SizeOf(User)) ;
    finally
    bs.Free;
    end;
    end;

    • در کد بالا "myTable" نام کامپوننت دیتاستی است که مورد استفاده است. کامپوننتی مانند TTable, TQuery,TAdoTable و ....
    • متغیر "User" که تز نوع رکورد TUser است، با استفاده از EditBox های "edName" و "edNOQ" و CheckBox با نام "chkCanAsk" مقدار دهی می شود.
    • متد CreateBlobStream، آبجکتی از نوع TStream برای نوشتن در فیلد Blob می سازد.
    حال برای خواندن و بازیابی رکورد یا رکوردهای ذخیره شده از کد زیر می توان استفاده کرد:

    var
    User : TUser;
    blobF : TBlobField;
    bs : TStream;
    begin
    if myTable.FieldByName('data').IsBlob then
    begin
    blobF := DataSet.FieldByName('data') as TBlobField;
    bs := myTable.CreateBlobStream(blobF, bmRead) ;
    try
    bs.Read(user,sizeof(TUser)) ;
    finally
    bs.Free;
    end;
    end;

    edName.Text := User.Name;
    edNOQ.Text := IntToStr(User.NumberOfQuestions) ;
    chkCanAsk.Checked := User.CanAsk;
    end;
    آخرین ویرایش به وسیله Vahid_moghaddam : یک شنبه 21 بهمن 1386 در 16:20 عصر دلیل: عنوان نامناسب

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112
    منبع
    http://delphi.about.com
    فایل های ضمیمه فایل های ضمیمه

تاپیک های مشابه

  1. روشی دیگر برای کار با فیلدهای BLOB
    نوشته شده توسط Vahid_moghaddam در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 09 مهر 1387, 14:00 عصر
  2. مشکل در انتقال یه فیلد Blob
    نوشته شده توسط Accidentboy در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: دوشنبه 09 مهر 1386, 10:42 صبح
  3. Blob
    نوشته شده توسط مجتبی جوادی در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 5
    آخرین پست: چهارشنبه 20 تیر 1386, 13:10 عصر
  4. نحوه فرستادن فیلدهای Blob با دستور SQL
    نوشته شده توسط Bahmany در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: چهارشنبه 24 اسفند 1384, 02:22 صبح
  5. ذخیره/بازیابی عکس در فیلد از نوع Blob
    نوشته شده توسط رهام در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: سه شنبه 22 آذر 1384, 02:14 صبح

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

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