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

نام تاپیک: بالا بردن سرعت بایند اطلاعات دیتابیس access در DataGridView

  1. #1

    Question بالا بردن سرعت بایند اطلاعات دیتابیس access در DataGridView

    دوستان من یک برنامه سی شارپی قدیمی دارم که با دیتابیس اکسس نوشته شده
    دیتابیس هم روی سرور هست الان میخوام یه خورده سرعت برنامه رو بهینه کنم

    توی دستورات insert و update اومدم از transaction استفاده کردم سرعت خیلی خیلی تغییر کرد(در واقع از این رو به اون رو شد) اما برای بایند کردن اطلاعات درون دیتاگرید ویو هر چی جستجو می کنم روش بهینه تری پیدا نمی کنم
    در حال حاضر من از تکه کد زیر استفاده می کنم :


    OleDbCommand OleDbCommand1 = new OleDbCommand();
    OleDbCommand1.CommandType = CommandType.Text;
    OleDbCommand1.CommandText = "SELECT * FROM my_table";
    OleDbCommand1.Connection = con;
    OleDbDataAdapter adapter = new OleDbDataAdapter(OleDbCommand1);
    DataSet DataSet1 = new DataSet();
    adapter.Fill(DataSet1, "my_table");
    datagridview.DataSource = DataSet1.Tables["my_table"];


    دوستان اگر کوئری بهینه تری به ذهن تون میرسه ممنون میشم راهنمایی کنید
    متشکرم

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    سلام
    شما وقتی از دیتا آداپتر استفاده می کنید دیگه نیازی به کامند و ... نیست ضمنا وقتی با یه تیبل کار می کنید از همون ابتدا برید سراغ دیتاتیبل. کلا 4 خط:
    OleDbDataAdapter adapter = new OleDbDataAdapter("select * from table", con);

    DataTable dt = new DataTable();

    adapter.Fill(dt);

    datagridview.DataSource = dt;

    برای نمایش هم می تونید گرید رو صفحه بندی کنید و در هر صفحه نهایتا 100 یا اگه مجبور شدید نهایتا 200 رکورد رو نمایش بدید.
    آخرین ویرایش به وسیله Mahmoud Zaad : شنبه 15 اردیبهشت 1397 در 12:10 عصر

  3. #3

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    شما وقتی از دیتا آداپتر استفاده می کنید دیگه نیازی به کامند و ... نیست ضمنا وقتی با یه تیبل کار می کنید از همون ابتدا برید سراغ دیتاتیبل. کلا 4 خط:
    OleDbDataAdapter adapter = new OleDbDataAdapter(OleDbCommand1, con);

    DataTable dt = new DataTable();

    adapter.Fill(dt);

    datagridview.DataSource = dt;

    برای نمایش هم می تونید گرید رو صفحه بندی کنید و در هر صفحه نهایتا 100 یا اگه مجبور شدید نهایتا 200 رکورد رو نمایش بدید.
    سلام
    آیا سورسی از صفحه بندی دارید که اطلاعات رو یکدفه لود نکنه؟
    من اطلاعات خیلی زیادی در بانک دارم و چند سورس صفحه بندی دانلود کردم ولی همشون ابتدا کل دیتابیس رو Load میکردند، بعد از لود صفحه بندی میکردند که بدرد نمیخوره
    اگر سورسی دارید ممنون میشم قرار بدید

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    این نمونه رو نگاه کنید.

  5. #5

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    شما وقتی از دیتا آداپتر استفاده می کنید دیگه نیازی به کامند و ... نیست ضمنا وقتی با یه تیبل کار می کنید از همون ابتدا برید سراغ دیتاتیبل. کلا 4 خط:
    OleDbDataAdapter adapter = new OleDbDataAdapter("select * from table", con);

    DataTable dt = new DataTable();

    adapter.Fill(dt);

    datagridview.DataSource = dt;

    برای نمایش هم می تونید گرید رو صفحه بندی کنید و در هر صفحه نهایتا 100 یا اگه مجبور شدید نهایتا 200 رکورد رو نمایش بدید.
    ممنون
    خب اگر از commond استفاده نکنم پس دستور select رو کجا بنویسم

    ویرایش :

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

    در کل من تعداد رکوردهام اصلا زیاد نیست ولی از اونجایی که دیتابیس روی شبکه هست یه خورده زمان میبره تا اتصال برقرا بشه
    البته این حدس من هست فکر کنم مشکل از کانکشن استرینگ هم نیست چون برای هر دو یعنی هم سلکت هم اینسرت و آپدیت از یک کانکسن استفاده می کنم
    به نظر مربوط به کوئری هست

  6. #6

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    این نمونه رو نگاه کنید.
    متاسفانه کارساز نبود

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    نقل قول نوشته شده توسط barman.ar16 مشاهده تاپیک
    ممنون
    خب اگر از commond استفاده نکنم پس دستور select رو کجا بنویسم

    ویرایش :

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

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

    حجم دیتابیس چقدره؟ اکسس در تب Database Tools یه گزینه ای داره به اسم Compact AND Repaire Database، می تونید با زدن اون آبجکت های اضافی داخل دیتابیس رو حذف کنید و حجم رو کاهش بدید، شاید روی سرعت موثر باشه.

    تعداد فیلدهای جدول چندتاست؟ اگر تعداد فیلدها زیاده می تونید فقط فیلدهای مورد نیاز رو سلکت کنید.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    نقل قول نوشته شده توسط Shadow_net مشاهده تاپیک
    متاسفانه کارساز نبود
    یعنی اجرا نشد یا مشکل دیگه ای وجود داره؟

  9. #9

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    یعنی اجرا نشد یا مشکل دیگه ای وجود داره؟
    اجرا شد ولی اگر سورس رو نگاه کنید توی FormLoad اول اومده کلش رو Load کرده بعد دسته بندی کرده...
    تقریباً همه سورس ها همین کارو میکنن

  10. #10
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: بالا بردن سرعت بایند اطلاعات دیتابیس اکسس در دیتاگریدویو

    اون اشتباه کرده، برای اینکه تعداد کل رکوردهای دیتابیس و تعداد صفحات رو محاسبه کنه اینکار رو کرده. شما به جای اون کار، در لود فرم یه سلکت بزنید و تعداد کل رکوردها رو به دست بیارید و ادامه کار مثل همونه. یه مقدار تغییر جزیی شاید نیاز باشه.

    محاسبه تعداد رکوردها
    select count(*) from tbl

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

  1. بالا بردن سرعت select از دیتابیس
    نوشته شده توسط salar-tak در بخش T-SQL
    پاسخ: 7
    آخرین پست: پنج شنبه 14 دی 1391, 21:24 عصر
  2. آموزش: بالا بردن سرعت برنامه های ASP.NET در LOCal
    نوشته شده توسط ricky22 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: دوشنبه 02 اسفند 1389, 09:28 صبح
  3. بالا بردن سرعت Query در پردازش 1 میلیون رکورد
    نوشته شده توسط niksoft در بخش SQL Server
    پاسخ: 8
    آخرین پست: پنج شنبه 28 تیر 1386, 22:13 عصر
  4. بالا بردن سرعت جستجو در بانک
    نوشته شده توسط mandana2010 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: دوشنبه 03 مهر 1385, 13:56 عصر
  5. بالا بردن سرعت سرچ(search) در سایت
    نوشته شده توسط kochol در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: پنج شنبه 12 خرداد 1384, 17:27 عصر

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

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