رفتن به مطلب
  • 0

ثبت 10 کلیک آخر روی لیست ویو


arastooms

سوال

سلام 
در برنامه دیکشنری  از دیتا بیس استفاده میکنم 
و قصد دارم لیستی درست کنم که 10 تا لغت آخری رو که یوزر سرچ کرده تو خودش نگه داره
تا تو یه اکتیویتی دیگه تو لیست ویو نشونش بدم

چه طور میتونم بگم که فقط 10 تا رو نگه داره و هرچی اضافه میشه به لیست از اونطرف آخری رو پاک کنه ؟؟؟

" با دستور اسکیو ال sql چه طور میتونم با کمک دیکشنری این رو تعریف کنم؟

با تشکر

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

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام

یه کار جالب میتونی بکنی

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

فقط برای اینکار یه جدول جدا درست میکنی حتماِ حتما

Sub listView1_ItemClick (Position As Int, Value As Object)
	cur = sql.ExecQuery("SELECT * FROM tbl")
	If cur.RowCount < 10 Then
		
		sql.ExecNonQuery("INSERT INTO tbl (id,word,mean) VALUES (null,'"&listview1.TwoLinesLayout.Label.Text&"','"&listview1.TwoLinesLayout.SecondLabel.Text&"')")
		
	Else If cur.RowCount = 10 Then
		
		Dim id As String
		id = sql.ExecQuerySingleResult("SELECT min(id) FROM tbl")
		sql.ExecNonQuery("DELETE from tbl WHERE id='"&id&"'")
sql.ExecNonQuery("INSERT INTO tbl (id,word,mean) VALUES (null,'"&listview1.TwoLinesLayout.Label.Text&"','"&listview1.TwoLinesLayout.SecondLabel.Text&"')")		

	End If
End Sub

خودتم بررسیش کن

این میاد چک میکنه اگه این جدول جدیدی که ساختی تعدادش سطرهاش زیر 10 تا بود، یه جدید اضاف میکنه

اگه 10 تا بود، کوچیک ترین ای دی(وقتی پنج تا مطلب داری، اولین مطلبی که ذخیره کردی(مطلیبی که باید پاک بشه بعد مثلا 10 تا و مطلب دوم بیاد جاش) کوچیکترین ای دی میشه قدیمی ترین ای دی) رو پاک میکنه و مطلب جدید رو اضافه میکنه

خودتم بررسیش کن

من برای این جدول، سه تا ستون در نظر گرفتم 

id word mean

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

فکرم بعد از چند وقت به کار گرفته شد :crazy:

مثل 

مثل همیشه عالی و دقیق 

ممنون هستم دوست خوب و عزیز 

امید وارم همیشه موفق باشید و سپاس از راهنمایی شما 

کد ها دقیقا درست کار کرد 

البته ایده رو متوجه شدم و نسبت به برنامه خودم تغییرش دادم .لی دقیقا از مسیری که فرموده بودید رفتم و به نتیجه هم رسید

واقعا تشکر

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

تشکر

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

سلام

یه کار جالب میتونی بکنی

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

فقط برای اینکار یه جدول جدا درست میکنی حتماِ حتما

Sub listView1_ItemClick (Position As Int, Value As Object)
	cur = sql.ExecQuery("SELECT * FROM tbl")
	If cur.RowCount < 10 Then
		
		sql.ExecNonQuery("INSERT INTO tbl (id,word,mean) VALUES (null,'"&listview1.TwoLinesLayout.Label.Text&"','"&listview1.TwoLinesLayout.SecondLabel.Text&"')")
		
	Else If cur.RowCount = 10 Then
		
		Dim id As String
		id = sql.ExecQuerySingleResult("SELECT min(id) FROM tbl")
		sql.ExecNonQuery("DELETE from tbl WHERE id='"&id&"'")
sql.ExecNonQuery("INSERT INTO tbl (id,word,mean) VALUES (null,'"&listview1.TwoLinesLayout.Label.Text&"','"&listview1.TwoLinesLayout.SecondLabel.Text&"')")		

	End If
End Sub

خودتم بررسیش کن

این میاد چک میکنه اگه این جدول جدیدی که ساختی تعدادش سطرهاش زیر 10 تا بود، یه جدید اضاف میکنه

اگه 10 تا بود، کوچیک ترین ای دی(وقتی پنج تا مطلب داری، اولین مطلبی که ذخیره کردی(مطلیبی که باید پاک بشه بعد مثلا 10 تا و مطلب دوم بیاد جاش) کوچیکترین ای دی میشه قدیمی ترین ای دی) رو پاک میکنه و مطلب جدید رو اضافه میکنه

خودتم بررسیش کن

من برای این جدول، سه تا ستون در نظر گرفتم 

id word mean

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

فکرم بعد از چند وقت به کار گرفته شد :crazy:

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

بایگانی شده

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

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

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