• ¡Welcome to Square Theme!
  • This news are in header template.
  • Please ignore this message.
مهمان عزیز خوش‌آمدید. ورود عضــویت


امتیاز موضوع:
  • 8 رای - 2.63 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Title: جستجو در دیتابیس sqlite
حالت موضوعی
#1
سلام دوستان به کمک احتیاج دارم من با کد های زیر اطلاعات دیتابیس رو در داخل لیست ویو لود میکنم،
مشکل من این هست که من دیتابیسم حجمش خیلی زیاده و نمیشه اونو لود کرد.راه حلی که داره اینه که اطلاعات مورد نظر توسط کاربر جستجو بشه و فقط نتیجه جستجو لود بشه.این کارو بلد نیستم خواهش میکنم کمک کنید.
Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("frmreport")
    If File.Exists(File.DirInternal,"test.db")=False Then
    File.Copy(File.DirAssets,"test.db",File.DirInternal,"test.db")
    End If
    sqll.Initialize(File.DirInternal,"test.db",False)
    
End Sub

Sub btnreport_Click
    Dim cur1 As Cursor
    cur1=sqll.ExecQuery("SELECT * FROM tbl_list")
    For j=0 To cur1.RowCount -1
    cur1.Position=j
    ListView1.AddTwoLines(cur1.GetString("sTitle"),cur1.GetString("sBudy"))
    Next
    
End Sub
 
پاسخ
#2
سلام
به چند روش میتونی این کار رو انجام بدی من دو روش رو بهت پیشنهاد میدم
روش اول : استفاده از کلاس SearchView که باهاش میتونی همزمان با تایپ حروف نتایج رو مشاهده کنی (همانند نرم افزارهای دیکشنری) که فایل مثال رو ضمیمه کردم
در این مثال همانند روش خود شما نتایج را در ListView نمایش میدهد در این روش از ایندکس گذاری دیتابیس استفاده می شود و سرعت جستجو و نمایش نتایج بالا می باشد ولی برای نمایش نتایجی که بیش از یک یا دو ستون هستند جالب نیست
روش دوم: برای راحتی کار و جلوگیری از شلوغ شدن Listview می تونی با شیلتر کردن داده ها به نتیجه دلخواه برسی بطور مثال می تونی از Spinner برای شیلتر داده ها استفاده کنی مثال: در بانک اطلاعاتی که شامل اطلاعات افراد هست و دارای فیلدهایی از قبیل : محل زندگی،محل تولد،سال تولد و ... می تونی از دو spinner استفاده کنی که در اولی محل تولد رو انتخاب میکنی و در دومی محل زندگی و ... در نتیجه نتایج خروجی محدود خواهد بود،در این روش چند نکته حائز اهمیت است اول اینکه می تونی هر spinner رو با دستور ذیل(بر حسب برنامه باید اصلاح شود) مقدار دهی کنی
کد پی‌اچ‌پی:
DBUtils.ExecuteSpinner(Main.SQL1Query1Null0spnTemp
دوم اینکه دقت کنید در spinner ها مقادیر تکراری درج نکنید و بهتر است بر حسب حروف الفبا مرتب گردند (من برای این کار اول یک spnTemp تعریف کردم و سپس تکراری ها رو جدا کردم البته روشهای راحت تری هم وجود دارد)
سوم اینکه رویدادهای تغییر spinner ها رو کد نویسی کنید تا در صورت تغییر مقدار انتخابی در هر spinner مقادیر spinner های دیگر متاثر از آن تغییر نماید
چهارم اینکه اگر نتایج شما زیاد است یا بیش از یک ستون در نتایج باید نمایش داده شود پیشنهاد می شود از tableView بجای listview استفاده نمایید

 

 


فایل‌های پیوست
.zip   SearchView.zip (اندازه 9.92 KB / تعداد دانلود: 107)
 
پاسخ
  


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  کد کردن یا پسورد گذاشتن رو دیتابیس sepidpor 16 19,413 11-11-2015، 01:03 PM
آخرین ارسال: arastooms
  خطا در ایجاد Table در دیتابیس Morteza_rk 4 3,271 12-31-2014، 08:53 AM
آخرین ارسال: seyedsharifi
  گرفتن اطلاعات دیتابیس از تکست باکس Morteza_rk 2 2,569 12-14-2014، 05:10 PM
آخرین ارسال: Morteza_rk
  راهنمایی ایجاد دیتابیس با sqlite overkit 1 4,941 11-26-2013، 03:05 PM
آخرین ارسال: hamid1148
  مشکل در کار با دیتابیس mhr74 1 3,423 09-09-2013، 02:11 AM
آخرین ارسال: m.gooooolzar
  سورس کد کار کردن با دیتابیس Amin_Mansouri 2 6,114 07-28-2013، 06:51 PM
آخرین ارسال: Kei armin

پرش به انجمن:


Browsing: 1 مهمان