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

نام تاپیک: ADODataSet

  1. #1
    کاربر دائمی آواتار MNosouhi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    883

    ADODataSet

    من دیدم که بعضی از دوستانم به جای AdoQuery از ADODataSet استفاده می کنن . آیا استفاده از ADODataSet مزیت خاصی دارد ؟ اصلاADODataSet کجاها باید استفاده شود و فرقش با AdoQuery چیه؟
    در ضمن جستجو هم کردم ولی جواب نگرفتم.

  2. #2
    ADOQuery و ADOTable دوتا کامپوننت هستند که بورلند روی ADO نوشته اما مثل ADODataSet مستقیم با ADO کار نمیکنند و در نهایت هم به مسیر ADODataSet میرسند در نتیجه هم سرعتشون کمتره هم امکان باگ دار بودنشون بیشتره. دلیلی هم که اینارو نوشته اینه که کسایی که میخواهند برنامه هاشون رو از BDE به ADO ببرند مجبور نباشند خیلی تغییر ایجاد کنند و کامپونتهای شبیه TTable و TQuery رو اینجا هم داشته باشند . والا اصلا برای استفاده همینطوری از ADO نیستند و بهتره از ADODataSet استفاده بشه.

  3. #3
    کاربر دائمی آواتار MNosouhi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    883
    یعنی پیشنهاد می کنید به جای استفاده از Adotable و ADoquery از AdodataSet استفاده کنم؟
    راستی نکته خاصی نداره؟آخه من تا حالا باهاش کار نکرده ام .

  4. #4
    چهار کامپوننت DataSet با نامهای ADOQuery و ADODataSet و ADOStoredProc و ADOTable تقریبا"
    به صورت کامل توسط کلاس پدر خود یعنی TCustomDataSet ، پیاده سازی شده اند.
    ADOTable و ADOQuery و ADOStoredProc به عنوان کامپوننتهایی جهت سازگاری یا مطابقت با همتای خود
    که همون BDE ست پیاده سازی شده و استفاده میشه.

    و الا اصلا برای استفاده همینطوری از ADO نیستند و بهتره از ADODataSet استفاده بشه.
    "بهتره" در اینجا یه نظر کاملا" شخصی ست.

    ADO برپایه تکنولوژی OLE DB مایکروسافت پیاده سازی شده که دستیابی به بانکهای اطلاعاتی رابطه ای و
    غیر رابطه ای رو فراهم میکنه. کامپوننتهای ADOیی که شما در دلفی میبینید ، بخشی از بسته بورلند
    به نام dbGO هستند که به صورت یه گروه در صفحه ADO قرار گرفتند.
    تو این گروه سه تا کامپوننت اصلی به نامهای :
    ADOConnection ، از اشیاء DataSource و Session مربوط به OLE DB استفاده میکنه.
    ADODataSet ، از شیئ Command مربوط به OLE DB استفاده میکنه.
    ADOCommand ، از شیئ Rowset مربوط به OLE DB استفاده میکنه.

    و سه تا کامپوننت ADOQuery و ADOStoredProc و ADOTable برای کمک به خروج از برنامه هایی که
    براساس BDE نوشته شده اند و ورود به ADO ست.


    در نتیجه هم سرعتشون کمتره هم امکان باگ دار بودنشون بیشتره.
    این هم، نظر شخصی ست و فنی نیست.

  5. #5
    طبیعتا آره دیگه، نه هیچ نکته خاصی نداره یا الان من یادم نمیاد.

  6. #6
    نقل قول نوشته شده توسط m-khorsandi
    این هم، نظر شخصی ست و فنی نیست.
    برای اثبات فنی بودن یا نبودنش باید ADODB رو بخونم که فعلا حوصلش نیست اما اگه یکچیزی شبیه اینو تست کنید عملی میبینید (اگر i رو بزرگتر کنید تفاوتها بیشتر احساس میشند):


    procedure TForm1.btQueryClick(Sender: TObject);
    var
    i: Integer;
    ATime: TTime;
    begin
    Screen.Cursor := crHourGlass;
    ATime:= Time;
    for i:= 0 to 20 do
    with ADOQuery1 do
    begin
    Close;
    SQL.Text := 'Select * from _Goods';
    Label1.Caption := IntToStr(i);
    Application.ProcessMessages;
    Open;
    end;
    Screen.Cursor := crDefault;
    label1.Caption := FloatToStr((Time-ATime)* 100000);
    end;

    procedure TForm1.btDataSetClick(Sender: TObject);
    var
    i: Integer;
    ATime: TTime;
    begin
    Screen.Cursor := crHourGlass;
    ATime:= Time;
    for i:= 0 to 20 do
    with ADODataSet1 do
    begin
    Close;
    CommandText := 'Select * from _Goods';
    Label2.Caption := IntToStr(i);
    Application.ProcessMessages;
    Open;
    end;
    Screen.Cursor := crDefault;

    label2.Caption := FloatToStr((Time-ATime) * 100000)
    end;


    فقط حواستون باشه زمان اجرای اینها از کامپیوتر هیچ کار دیگه نکشین.

  7. #7
    البته من منظورم بیشتر نقل قول این قسمت بود
    امکان باگ دار بودنشون بیشتره.
    و این رو قبول دارم که سرعت بازیابی رکوردها توسط ADOTable کمتر هست.

  8. #8
    کاربر دائمی آواتار MNosouhi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    883
    روی یه بانک با تعداد رکورد های کم تستشون کردم . برای اولین بار که رو دکمه ها کلیک می کنید .
    AdoDateSet=0.127314814812873
    AdoQuery=0.361111111113477
    اما اگر باز هم روی دکمه ها کلیک کنید با هم برابر میشن.

    آقای خراسانی ، آقای کوشا واقعا از لطفتون ممنون .

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

  1. مشکل در استفاده از AdoDataset
    نوشته شده توسط hedi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: یک شنبه 28 مرداد 1386, 20:04 عصر
  2. چگونگی تخصیص مقدار به AdoDataSet
    نوشته شده توسط setare7sky در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 27 خرداد 1386, 13:30 عصر
  3. AdoDataSet چطور متوجه میشود که کدام جدول را باید آپدیت کند ؟
    نوشته شده توسط Mojgan110 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: یک شنبه 26 شهریور 1385, 09:12 صبح
  4. ADODataset(جواب فوری)
    نوشته شده توسط mahboob در بخش برنامه نویسی در Delphi
    پاسخ: 11
    آخرین پست: سه شنبه 23 خرداد 1385, 06:54 صبح
  5. AdoDataset - INI
    نوشته شده توسط najeeb در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: شنبه 21 شهریور 1383, 23:41 عصر

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

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