samiasoft
سه شنبه 30 خرداد 1396, 16:40 عصر
سلام دوستان
من در یک دیتابیس حدود 3 هزار رکورد دارم که میخوام همشو یکجا در دیتاگرید نمایش بدم. (حالا کاری نداریم این همه رکورد را نباید نمایش داد یا تقسیم کرد.)
مشکلی که وجود داره این هستش که اگر فرمت دیتابیس اکسس بصورت mdb باشه یعنی نسخه قدیمی ، در این حالت هنگام لود با سرعت خیلی زیادی اطلاعات وارد دیتاگرید میشوند.(در حدود 1 ثانیه)
اما وقتی دیتابیس رو به نسخه جدیدتر اکسس یعنی accdb تغییر میدم و برنامه رو لود میکنم حدود 25 ثانیه زمان میبره تا اطلاعات وارد دیتاگرید شوند.
به نظرتون دلیل کاهش سرعت در دیتابیس جدید چی هستش؟
//کانکشن اکسس نسخه قدیم data.mdb
OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "/data.mdb");
//کانکشن اکسس نسخه جدید data.accdb
//OleDbConnection connect = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "/data.accdb");
string strsql;
OleDbDataAdapter da = new OleDbDataAdapter();
DataSet ds = new DataSet();
connect.Open();
strsql = "select numer,idnumber from Table2 ";
da = new OleDbDataAdapter(strsql, connect);
da.Fill(ds, "Table2");
DataGridView1.DataSource = ds.Tables["Table2"];
connect.Close();
پروژه رو هم ضمیمه کردم ممنون میشوم یه نگاهی کنید.
من اینطور برداشت میکنم که Microsoft.Jet سرعتش از Microsoft.ACE خیلی بالاتره. ولی Microsoft.Jet نسخه جدید اکسس رو ساپرت نمیکنه!
من در یک دیتابیس حدود 3 هزار رکورد دارم که میخوام همشو یکجا در دیتاگرید نمایش بدم. (حالا کاری نداریم این همه رکورد را نباید نمایش داد یا تقسیم کرد.)
مشکلی که وجود داره این هستش که اگر فرمت دیتابیس اکسس بصورت mdb باشه یعنی نسخه قدیمی ، در این حالت هنگام لود با سرعت خیلی زیادی اطلاعات وارد دیتاگرید میشوند.(در حدود 1 ثانیه)
اما وقتی دیتابیس رو به نسخه جدیدتر اکسس یعنی accdb تغییر میدم و برنامه رو لود میکنم حدود 25 ثانیه زمان میبره تا اطلاعات وارد دیتاگرید شوند.
به نظرتون دلیل کاهش سرعت در دیتابیس جدید چی هستش؟
//کانکشن اکسس نسخه قدیم data.mdb
OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "/data.mdb");
//کانکشن اکسس نسخه جدید data.accdb
//OleDbConnection connect = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "/data.accdb");
string strsql;
OleDbDataAdapter da = new OleDbDataAdapter();
DataSet ds = new DataSet();
connect.Open();
strsql = "select numer,idnumber from Table2 ";
da = new OleDbDataAdapter(strsql, connect);
da.Fill(ds, "Table2");
DataGridView1.DataSource = ds.Tables["Table2"];
connect.Close();
پروژه رو هم ضمیمه کردم ممنون میشوم یه نگاهی کنید.
من اینطور برداشت میکنم که Microsoft.Jet سرعتش از Microsoft.ACE خیلی بالاتره. ولی Microsoft.Jet نسخه جدید اکسس رو ساپرت نمیکنه!