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

جلوگیری از اینسرت کردن داده های تکراری در دیتابیس آفلاین


1234hossein

سوال

سلام دوستان .شرمنده بنده تازه کار هستم . دو تا ادیت تکست دارم که اطلاعاتی رو داخل یه جدول اینسرت می کنه حالا چطور می تونم  اگه داده تکراری بود بیا پیام بده که داده تکراری هست

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

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

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

شما باید اول اون جدول رو سلکت کنید با این شرط که اگر مثلا name برابر با edittext1 بود. مثلا:

Select * From tbl_name WHERE name='"&edittext1.text&"'

بعد مقداربرگشتی رو به کرسر میده و میتونید از کرسر rowCount رو بگیرید و شرط بذارید اگر برابر با 0 بود یعنی وجود نداره و اینزرت کنه، وگرنه خطا بده.

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

در 13 ساعت قبل، پژمان نیکروان گفته است :

شما باید اول اون جدول رو سلکت کنید با این شرط که اگر مثلا name برابر با edittext1 بود. مثلا:


Select * From tbl_name WHERE name='"&edittext1.text&"'

بعد مقداربرگشتی رو به کرسر میده و میتونید از کرسر rowCount رو بگیرید و شرط بذارید اگر برابر با 0 بود یعنی وجود نداره و اینزرت کنه، وگرنه خطا بده.

ممنون. اگه میشه یه نمونه کد واسم بزارید که درست بفهم چه جوری هست

اینم کد های هنگام کلیک بر روی دکمه

Sub Button1_Click'''''''insert dar database'''''''

	
	If EditText1.Text = "" Or EditText2.Text = ""     Then
		ToastMessageShow("متنی وارد نشده",False)
	Else
		
		Dim a As Int
		a = Msgbox2("خیر","","بله","ذخیره اطلاعات","مطمن هستید؟",Null)
		If a = DialogResponse.POSITIVE Then
			'injaa vaarede data base mikonim'
			
			sql.ExecNonQuery("INSERT INTO mytbl (id,title,content,gens) VALUES (null,'"& EditText1.Text &"','"& EditText2.Text &"','"& EditText3.Text &"')")
			ToastMessageShow("sabt shod",False)
			
			'dobare list view ro load mikonam ta taghirat maloom beshe'
			ListView1.Clear
			cur = sql.ExecQuery("SELECT * FROM mytbl")
			For i = 0 To cur.RowCount - 1 
				cur.Position = i
				ListView1.AddSingleLine2(cur.GetString("title"),cur.GetInt("id"))
			Next
			
		End If
	End If
End Sub

 

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

در 12 ساعت قبل، 1234hossein گفته است :

ممنون. اگه میشه یه نمونه کد واسم بزارید که درست بفهم چه جوری هست

اینم کد های هنگام کلیک بر روی دکمه


Sub Button1_Click'''''''insert dar database'''''''

	
	If EditText1.Text = "" Or EditText2.Text = ""     Then
		ToastMessageShow("متنی وارد نشده",False)
	Else
		
		Dim a As Int
		a = Msgbox2("خیر","","بله","ذخیره اطلاعات","مطمن هستید؟",Null)
		If a = DialogResponse.POSITIVE Then
			'injaa vaarede data base mikonim'
			
			sql.ExecNonQuery("INSERT INTO mytbl (id,title,content,gens) VALUES (null,'"& EditText1.Text &"','"& EditText2.Text &"','"& EditText3.Text &"')")
			ToastMessageShow("sabt shod",False)
			
			'dobare list view ro load mikonam ta taghirat maloom beshe'
			ListView1.Clear
			cur = sql.ExecQuery("SELECT * FROM mytbl")
			For i = 0 To cur.RowCount - 1 
				cur.Position = i
				ListView1.AddSingleLine2(cur.GetString("title"),cur.GetInt("id"))
			Next
			
		End If
	End If
End Sub

 

سلام

Sub Button1_Click'''''''insert dar database'''''''

	
	If EditText1.Text = "" Or EditText2.Text = ""     Then
		ToastMessageShow("متنی وارد نشده",False)
	Else
		
		Dim a As Int
		a = Msgbox2("خیر","","بله","ذخیره اطلاعات","مطمن هستید؟",Null)
		If a = DialogResponse.POSITIVE Then
			
				cur = sql.ExecQuery("SELECT * FROM mytbl WHERE title = '"&EditText1.Text&"'")
				If cur.RowCount > 0 Then
					ToastMessageShow("اطلاعات تکراری میباشد",False)
				Else
					sql.ExecNonQuery("INSERT INTO mytbl (id,title,content,gens) VALUES (null,'"& EditText1.Text &"','"& EditText2.Text &"','"& EditText3.Text &"')")
					ToastMessageShow("sabt shod",False)
				End If
			
			
			'dobare list view ro load mikonam ta taghirat maloom beshe'
			ListView1.Clear
			cur = sql.ExecQuery("SELECT * FROM mytbl")
			For i = 0 To cur.RowCount - 1 
				cur.Position = i
				ListView1.AddSingleLine2(cur.GetString("title"),cur.GetInt("id"))
			Next
			
		End If
	End If
End Sub

 

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

در ۱ ساعت قبل، 1234hossein گفته است :

ممنون. اگه میشه یه نمونه کد واسم بزارید که درست بفهم چه جوری هست

اینو جای کداتون بذارید:

	
	Sub Button1_Click'''''''insert dar database'''''''

	
	If EditText1.Text = "" Or EditText2.Text = ""     Then
		ToastMessageShow("متنی وارد نشده",False)
	Else
		
		Dim a As Int
		a = Msgbox2("خیر","","بله","ذخیره اطلاعات","مطمن هستید؟",Null)
		If a = DialogResponse.POSITIVE Then
			'injaa vaarede data base mikonim'
			
			dim cr as Cursor
			cr = sql.ExecQuery("SELECT * FROM mytbl title='"&EditText1.Text&"' AND content='"&EditText2.Text&"' AND gens='"&EditText3.Text
			If cr.RowCount=0 Then
			sql.ExecNonQuery("INSERT INTO mytbl (id,title,content,gens) VALUES (null,'"& EditText1.Text &"','"& EditText2.Text &"','"& EditText3.Text &"')")
			ToastMessageShow("sabt shod",False)
			else
			ToastMessageShow("اطلاعات تکراری می باشد",False)
			end if
			
			'dobare list view ro load mikonam ta taghirat maloom beshe'
			ListView1.Clear
			cur = sql.ExecQuery("SELECT * FROM mytbl")
			For i = 0 To cur.RowCount - 1 
				cur.Position = i
				ListView1.AddSingleLine2(cur.GetString("title"),cur.GetInt("id"))
			Next
			
		End If
	End If
End Sub

 

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

بایگانی شده

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

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

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