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

نام تاپیک: نحوه استفاده از یک DataAdapter در کل فرم

  1. #1

    نحوه استفاده از یک DataAdapter در کل فرم

    سلام به دوستان
    ممکن این سوال برای بعضی از دوستان پیش پا افتاده باشه و برای بعضی دیگر از دوستان پرسش.
    چه طور می شود در فرم یک DataAdapter داشت که برای استفاده از آن به دفعات نیاز نباشد DataAdapter دیگری تعریف کرد و فقط مقدار CommandText مربوط به select command یا insert command یا delete command یا update command را تغییر داد و از آن استفاده کرد.
    در کلاس مربوطه متغیر da را به صورت زیر تعریف می کنم به صورت سراسری

    OleDbDataAdapter da = new OleDbDataAdapter();

    ولی وقتی می خوهم در موقع اجرا commandtext مربوط به select command زا تغییر دهم خطا می دهد و مجبور شدم برای هر بار کار با dataAdapter مثلا اتصال به DatagridView از یک dataadapter استفاده کنم

    var.dt.Clear();
    OleDbDataAdapter da1 = new OleDbDataAdapter("select numfactor,sanad,buydate,namekala,tedad,ghvahed,mod el,mablaghkala from anbar where numfactor='" + NtbDelFactor.Text + "'", var.con);
    da1.Fill(var.dt);
    DgvDel.DataSource = var.dt;

    var.dt1.Clear();
    OleDbDataAdapter da2 = new OleDbDataAdapter("select numfactor,sanad,buydate,namekala,tedad,ghvahed,mod el,mablaghkala from anbar where numfactor='" + NtbDelFactor.Text + "'", var.con);
    da2.Fill(var.dt1);
    DgvDel.DataSource = var.dt1;


    باید dataadapter را کجا و به چه صورت تعریف کرد که تعریف آن فقط یک بار و استفاده از آن زیاد باشد که مجبور نشوم برای هر استفاده یک da تعریف کنم
    با تشکر

  2. #2
    کاربر دائمی آواتار Masoud_TB
    تاریخ عضویت
    آذر 1386
    محل زندگی
    Tehran
    پست
    165
    البته اصولا من با این کار موافق نیستم ولی به لحاظ تکنولوژی هیچ ایرادی به این کار وارد نیست و شما می تونین هر کجا که نیاز بود Select یا ... را تغییر بدین و ازش استفاده کنین. اگر هم خطایی دارین احتمالا به خاطر SQL Commandی است که نوشته اید.

  3. #3
    دوست عزیز جناب Masoud_TB
    می تونید بگید DataAdapter را در کجا و به چه طورت تعریف کردید که هر وقت که نیاز داشتید فقط دستور select یا insert یا delete یا update را عوش کنید و اجرا شود و نیازی به تعریف DataAdapter دیگری نداشته باشید؟
    ممنون

  4. #4
    VIP آواتار رضا عربلو
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    1,597
    هرچند بهتر است یک لایه دیتا برای کار با دیتابیستان داشته باشد.

    در سطح کلاستان (یا بعنوان member کلاس فرمتان) تعریف کنید :

    OleDbDataAdapter da = new OleDbDataAdapter();
    OleDbCommand c = new OleDbCommand();


    در کانستراکتور کلاستان (یا اونت لود فرمتان) بنویسید :

    da.SelectCommand = c;


    حالا هنگامی که خواستد دستورتان را تغییر دهید بنویسید :

    c.CommandText = "...";
    ....
    da.Fill(......);


    برای da.update نیز بایستی کامندهای InsertCommand و UpdateCommand و DeleteCommand را یه صوزت بالا داشته باشید.
    اگر Net. نمی دانید وارد نشوید.

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

  1. استفاده از یک فیلد محاسباتی در DataAdapter
    نوشته شده توسط ehsan_ansaripoor در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 17 مرداد 1386, 18:24 عصر
  2. مشکل با DataAdapter ها
    نوشته شده توسط Behnama در بخش VB.NET
    پاسخ: 1
    آخرین پست: سه شنبه 19 تیر 1386, 06:51 صبح
  3. چگونگی استفاده از DataAdapter در ماژول
    نوشته شده توسط روح اله معینی زاده در بخش VB.NET
    پاسخ: 3
    آخرین پست: چهارشنبه 14 بهمن 1383, 14:58 عصر
  4. یک DataAdapter برای همه Queryها
    نوشته شده توسط روح اله معینی زاده در بخش VB.NET
    پاسخ: 1
    آخرین پست: دوشنبه 02 آذر 1383, 14:01 عصر

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

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