رفتن به مطلب
لـــرن نــت

انجمن های پشتیبانی

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

تــوجــه

این وب سایت تابع قوانین جمهوری اسلامی میباشد و وابسته به هیچ گروه سیاسی و ارگان خاصی نمیباشد.

تــوجــه

این وب سایت تحت نظر پلیس فتا میباشد و تمامی مطالب طبق قوانین ایران میباشد.

Amirreza Firoozi

راه حل بهتر برای جستجو در دیتابیس

پست های پیشنهاد شده

با درود خدمت همه دوستان

لطف کرده بودید و سورس یه دیکشنری رو قرار داده بودید من دانلود کردم و پس از نگاه کردن متوجه شدم که برای جستجو در اون دیتابیس از واژه LIKE به همراه % استفاده شده

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

دوستانی که راه دیگری بلدند دریغ نکنند

با تشکر

  • پسندیدم 3

به اشتراک گذاری این ارسال


لینک به ارسال

درود 

تعداد کلمات دیتابیستون چندتاست؟

شاید بخاطر زیاد بودن کلمات باشه

سرعت به تعداد هم بستگی داره :unknown:

  • پسندیدم 3

به اشتراک گذاری این ارسال


لینک به ارسال
naser sahami    31
Sub AutoCompleteEditText1_TextChanged (Old As String, New As String)
      If RadioButton1.Checked = True Then
	  RadioButton2.Checked = False
	  If File.Exists(File.DirInternal,"book.db") = False Then
     File.Copy(File.DirAssets,"book.db",File.DirInternal,"book.db")
     End If
	 Cur = Fehrest.Sql1.ExecQuery("select * from book where Name like '%"&AutoCompleteEditText1.Text&"%'")
	 ListView1.Clear
	 For i = 0 To Cur.RowCount-1
	 Cur.Position=i
	 ListView1.AddSingleLine(Cur.GetString("Name"))
	 
	 Next
	 
	  Else If RadioButton2.Checked = True Then
	  RadioButton1.Checked = False
	 If File.Exists(File.DirInternal,"book.db") = False Then
     File.Copy(File.DirAssets,"book.db",File.DirInternal,"book.db")
     End If
	 Cur = Fehrest.Sql1.ExecQuery("select * from book where Matn like '%"&AutoCompleteEditText1.Text&"%'")
	 ListView1.Clear
	 For i = 0 To Cur.RowCount-1
	 Cur.Position=i
	 ListView1.AddSingleLine(Cur.GetString("Name"))
	 
	 Next
	 End If
End Sub

هم برا متن و هم برا لغته امتحان کن

  • پسندیدم 1

به اشتراک گذاری این ارسال


لینک به ارسال

سلام دوستم

همونطور که دو تا بزرگوار گفتن

این کندی برای زیاد بودن تعداد هست احتمالا

اگر از لیست ویو استفاده یکنید، نباید اونقدر کند باشه

 

توی اندروید استادیو یه چیز جالب بود 

به جای سرچ توی دیتابیس، میومد بین ایتم های لیست ویو میگشت که به مراتب سبک تر بود

یه چیزی هم قبلا دیده بودم برای بیسیک

تستش میکنم، اگر کاری میکرد، براتون قرارش میدم

اگرم نه که هیچ 

  • پسندیدم 3

به اشتراک گذاری این ارسال


لینک به ارسال

یعنی تنها راه جستجو استفاده از همین LIKE و % هست؟ اون تعداد کلمات که تو همه دبکشنری ها زیاده

راستی اون سورسی که میگفتم این هست

http://learn-net.ir/index.php?/topic/50-%D8%B3%D9%88%D8%B1%D8%B3-%D8%AF%DB%8C%DA%A9%D8%B4%D9%86%D8%B1%DB%8C-%D9%88-%DA%AF%DB%8C%D8%A7%D9%87%D8%A7%D9%86-%D8%AF%D8%A7%D8%B1%D9%88%DB%8C%DB%8C/

 

اگه براتون مقدوره یه نگاهی بهش بندازید و اگه راه دیگه ای به ذهنتون رسید ما رو هم در جریان بذارید

به اشتراک گذاری این ارسال


لینک به ارسال

دوست عزیز 

71000تا کلمه داره

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

شما میتونی تعدادو کم کنی بعد ببینی تو سرعت چقدر تغییرات ایجاد شده

  • پسندیدم 1

به اشتراک گذاری این ارسال


لینک به ارسال

71000 تا کلمه؟؟؟ :| :

دوستم فک نکنم برای سرعتش بشه کاری کرد

اما برای اینکه کاربر راحت تر باشه میتونی یه دیالوگ نشون بدی و وقتی کوئری انجام شد و حلقه اجرا شد و لیست ویو اطلاعات رو گرفت، اونو برداری

به شکل زیر میتونی این کارو بکنی

شاید کمکی بکنه بهت 

	Dim sql As SQL
	sql.ExecQueryAsync("sql","SELECT * FROM tbl WHERE name LIKE '%"&edit1.text&"%'")
	ProgressDialogShow("loading...")
Sub sql_QueryComplete (Success As Boolean, Crsr As Cursor)
	If Success = True Then
		For i = 0 To Crsr - 1
			Crsr.Position = i
			Iist1.addSingLine2(Crsr.GetString("name"),Crsr.GetInt("id"))
			ProgressDialogHide
		Next
	End If
End Sub
  • پسندیدم 2

به اشتراک گذاری این ارسال


لینک به ارسال

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×