PDA

View Full Version : بهبنه تر کردن کد جستجو



arsalansalar
چهارشنبه 15 دی 1389, 17:53 عصر
با سلام
من یک نرم افزاری با بانک اکسس نوشته بودم.
الان رکورداش نزدیک 80 هزار تا هست.برای همین زمانی که جستجو می کند خیلی طول میکشه.
من از کد زیر استفاده می کنم.کسی راهکاری داره که این زمان و کمتر کنم؟


con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\database.mdb")
con.Open()
Dim da As New OleDbDataAdapter("select rdate as 'روز',mdate as 'ماه',sdate as 'سال',textm as 'مطلب',id as 'شماره مطلب',title as 'عنوان',onvan as 'منبع',gro as 'گروه',npic as 'شخصیت' from telephon where rdate = '" + jro.Text + "' and mdate = '" + jma.Text + "' and sdate = '" + jsa.Text + "'", con)
Dim ds As New DataSet
da.Fill(ds, "telephon")
DataGrid1.DataSource = ds
DataGrid1.DataMember = "telephon"
DataGrid1.Visible = True
MessageBox.Show(ds.Tables(0).Rows.Count.ToString + " مورد یافت شد")

reza_edu
شنبه 18 دی 1389, 10:39 صبح
سلام ایرادات:
1. چرا از دیتاست استفاده میکنی چون یه جدول داری بهتره که از دیتا تیبل استفاده کنی تو کد نویسی صرفه جوئی کن.
2.با ید از دیتا ویو استفاده کنی که انجام ندادی( من تو کد نمی بینم) و از متد find استفاده کن.
3. شما تو این کد دنبال چی میگردی؟:متفکر: من که متوجه نشدم اما برای جستجو نباید از گرید ویو استفاده کنی .

برای شروع بد نبود.
اگه کمک میخوای پیام خصوصی بده متوجه شم تو کدوم تاپیک جواب دادم:لبخند:

mahdi1373
شنبه 18 دی 1389, 12:56 عصر
ميشه راجع به متد Find توضيح بدين؟

arsalansalar
یک شنبه 19 دی 1389, 18:39 عصر
یک مثال از اون چیزی کی گفته بنویس

reza_edu
دوشنبه 20 دی 1389, 14:23 عصر
ببین اگه فقط دنبال یک مقدار گسسته تک فیلدی هستی از find میتتونی استفاده کنی اما اگه میخوای بین یک مقدار پیوسته باشه باید از دستور SELECT که با یک شرط WHERE همراه هست استفاده کنی نمونه کد نمیدم تا بگردی اینجوری نمونه کدای زیاد میبینی و روش دستت میاد تو همین سایت نمونه کد زیاده اما اگه بازم موفق نشدی پیام خصوصی بده متوجه شم تو کدوم تاپیک جواب دادم:لبخند:

reza_edu
دوشنبه 20 دی 1389, 15:43 عصر
الان دوباره کدتو نگاه کردم دیدم که شما به استفاده از pageing نیاز داری به این صورت هست که شما یه تعداد رکورد رو برای نمایش تو یه صفحه آماده میکنی و اول اون رو نشون میدی بعد کاربر اگه خواصت صفحه بعدی رو نگاه کنه رو ترتیب صفحه بندی شما کلیک میکنه مثل اون چیزی که ما تو گوگل میبینیم یه همچین چیزی اینجوری سرعت نمایش بالا میره اما یه سوال شما میخوای همه به یکباره تو دیتا گرید ویو نمایش داده بشه یا نه!
نمونه کداش تو همین سایت هست و تو .code project