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

در خواست کمک در خصوص حذف اطلاعات در دیتابیس آفلاین ازطریق برنامه


omid-j

سوال

با سلام

اساتید محترم عرض ادب

در خواست کمک در خصوص حذف اطلاعات در دیتابیس آفلاین ازطریق برنامه

این هم سورس برنامه که نوشتم فقط تو حذف اطلاعات مشکل دارم

#Region  Project Attributes 
	#ApplicationLabel: دفتراندیکاتور همراه
	#VersionCode: 59865986
	#VersionName: 1.0
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: portrait
	#CanInstallToExternalStorage: True
#End Region

#Region  Activity Attributes 
	#FullScreen: True
	#IncludeTitle: False
#End Region

Sub Process_Globals
	Dim sql As SQL
	
End Sub

Sub Globals
	Dim cur As Cursor
	Private Button2 As Button
	Private EditText1 As EditText
	Private EditText2 As EditText
	Private EditText3 As EditText
	Private EditText4 As EditText
	Private Panel1 As Panel
	Private Button3 As Button
	Private Label5 As Label
	Dim i As Int
	Private Label10 As Label
	Private Label11 As Label
	Private Label12 As Label
	Private Label9 As Label
	Private Button4 As Button
	Private Button1 As Button
'	Dim aria As AriaLib
	Dim num As String
	Private EditText5 As EditText
	Private Label14 As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
	
	Activity.LoadLayout("text")
	
	If File.Exists(File.DirInternal,"Daftar-andikator.db") = False Then
		File.Copy(File.DirAssets,"Daftar-andikator.db",File.DirInternal,"Daftar-andikator.db")
	End If

	If sql.IsInitialized =  False Then
	sql.Initialize(File.DirInternal,"Daftar-andikator.db",False)
	End If
	
'	If aria.TestInterntConnection = False Then
'		Msgbox("اینترنت شما وصل نیست","")
'	Else If aria.TestInterntConnection = True Then
'		Msgbox("اینترنت وصل است ","")
'	End If 
	
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Button2_Click
	Try
		sql.ExecNonQuery("INSERT INTO tbl(shoarah,envan_namah,sharh,payvast,deta) VALUES('"&EditText5.Text&"','"&EditText1.Text&"','"&EditText2.Text&"','"&EditText3.Text&"','"&EditText4.Text&"')")
		ToastMessageShow("اطلاعات ثبت شد",False)
		EditText1.Text=""
		EditText2.Text=""
		EditText3.Text=""
		EditText4.Text=""
		EditText5.Text=""
		EditText1.RequestFocus
	Catch
		ToastMessageShow("اطلاعات ثبت نشد",False)
	End Try
	
End Sub

Sub Button3_Click
	Dim cur As Cursor
	
	Try
		cur=sql.ExecQuery("SELECT * FROM tbl")
		cur.Position = i
		i= i+1
		Label9.Text = cur.GetString("shoarah")
		Label10.Text = cur.GetString("envan_namah")
		Label11.Text = cur.GetString("sharh")
		Label12.Text = cur.GetString("payvast")
		Label14.Text =  cur.GetString("deta")
	Catch
		i = 0
	End Try	
End Sub

Sub Button4_Click
	sql.ExecNonQuery("DELETE FROM tbl WHERE shoarah =1")''''' در این قسمت مشکل دارم نمی دانم از چه دستوری استفاده کنم 
End Sub

Sub Button1_Click
	Dim ext As Int 
			ext = Msgbox2("آیا قصد خروج را دارید؟","خروج از برنامه","بله","خیر","",LoadBitmap(File.DirAssets,"exit.png"))
			If ext= DialogResponse.POSITIVE Then
				ExitApplication
			End If
End Sub

 

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

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

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

درود 

اول یه عکس از شکل ستون های دیتابیستون  بذارید بعد بگین که میخواین چه عبارت از چه ستونی حذف بشه تا راهنمایی کنیم

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

عکس جدول که دارم

حالا میخوام یک رکورد از جدول حذف کنم مثلا رکورد شماره یک را حذف کنم در صورتی که رکورد بعد در جدول بماند

 ax.jpg

یعنی رکورد شماره یک از جدول حذف شود ولی رکورد شماره 2 حذف نشود در کل منظور بنده بصورت جداگانه تک تک رکورد حذف شود نه با هم دیگه یعنی هر رکورد که بخواهم حذف کنم

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

سلام

اگر میخواین یه ردیف رو حذف کنید که باید دستور DELETE رو اجرا کنید اما اگر میخواین مقدار یکی از فیلدها رو در ایدی مشخص حذف کنید در واقع باید UPDATE کنید و مقدار فیلد رو برابر با NULL قرار بدید،مثلا اینجوری:

DBSQL.ExecNonQuery("UPDATE Table1 SET name = NULL WHERE id = 1")

 

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

در 15 دقیقه قبل، Crashday گفته است :

سلام

اگر میخواین یه ردیف رو حذف کنید که باید دستور DELETE رو اجرا کنید اما اگر میخواین مقدار یکی از فیلدها رو در ایدی مشخص حذف کنید در واقع باید UPDATE کنید و مقدار فیلد رو برابر با NULL قرار بدید،مثلا اینجوری:


DBSQL.ExecNonQuery("UPDATE Table1 SET name = NULL WHERE id = 1")

 

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

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

در 42 دقیقه قبل، omid-j گفته است :

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

	Dim num_db As String
	sql1.ExecNonQuery("DELETE FROM My_DBB where Num ='"&num_db&"' ")	

 

num همون آیدی هست MY_DBB هم جدولم

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

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

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

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

در 2 ساعت قبل، omid-j گفته است :

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

دستور درسته،تست کردم،یه مقدار گنگ توضیح دادین،دقیقا میخواین چه چیزی رو تغییر بدین؟ فیلد id رو؟

اگر مثلا میخواین اونجایی که نوشته شده "حقوق ماهیانه" رو به 'هیچی' تغییر بدید (یا طبق گفته خودتون حذف کنید) باید به صورت زیر اجرا کنید:

sql.ExecNonQuery("UPDATE tbl SET envan_namah = NULL WHERE id = 1")

با اجرای کد بالا عبارت حقوق ماهیانه null میشه.

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

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

دوست عزیز توضیح اینکه

فرض کنید یک برنامه دفترچه تلفن دارین وقتی ی10 شخص وارد و ذخیره میکنید بعد متوجه میشید که یکی از این 10 تا یکی را به اشتباه وارد کردید میخواهید آن را حذف کنید باید چه کار کرد

شما دفترچه تلفن موبایل رو نگاه کنید وقتی اضافه میکنید می تونید پاک هم بکنید دیگه

 

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

در 2 ساعت قبل، omid-j گفته است :

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

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

بفرستید حل کنم

 

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

 

یا اگه میخاین یه سورس کامل از ساخت و حذف بدم خدمتتون

 

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

در ۱ ساعت قبل، omid-j گفته است :

دوست عزیز توضیح اینکه

فرض کنید یک برنامه دفترچه تلفن دارین وقتی ی10 شخص وارد و ذخیره میکنید بعد متوجه میشید که یکی از این 10 تا یکی را به اشتباه وارد کردید میخواهید آن را حذف کنید باید چه کار کرد

شما دفترچه تلفن موبایل رو نگاه کنید وقتی اضافه میکنید می تونید پاک هم بکنید دیگه

 

این دستور ردیفی که ایدی برابر با 1 باشه رو حذف میکنه:

sql1.ExecNonQuery("DELETE FROM tb1 WHERE id = 1")

حالا شما به جای ایدی میتونی شرط خودتو بزاری با جای مورد نظرت.

 

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

در 15 ساعت قبل، sinam443 گفته است :

بفرستید حل کنم

 

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

 

یا اگه میخاین یه سورس کامل از ساخت و حذف بدم خدمتتون

 

ممنون میشم

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

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

سلام  به شما 
روش اصولی این کار گرفتن آیدی سطر مورد نظر در دیتابیس آفلاین است 
و سپس پاک کردن آن رکوردی که آیدی مورد نظر را دارد

در این روش ابتداباید با کلیک بر روی لیست بتونید شماره آیدی رو بگیرید که اگر از لیست ویو استفاده میکنید این روش ممکن هست و یه مقدار به شما برمیگردونه ( اگر این مرحله رو بلد هستید برید خط پایین)

 

dim Id_moredenazar as int = مقداری که از کلیک لیست ویو میگیری


حالا که آیدی رو دارید و در یک مقدار ذخیره کردید مثلا آیدی 4 باید پاک بشه از دستور های بالا یا دستور زیر استفاده کنید تا آیدی مورد نظر در دیتابیس حذف بشه

 

			sql.ExecNonQuery("DELETE FROM table_tell where id = '" & id_morednazar & "'")

 

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

و دوباره داده ها رو بگیر که میبینی داده قبلی با آیدی مورد نظر پاک شده 
موفق باشی

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

در در 1396/03/18, 18:18:13، arastooms گفته است :

سلام  به شما 
روش اصولی این کار گرفتن آیدی سطر مورد نظر در دیتابیس آفلاین است 
و سپس پاک کردن آن رکوردی که آیدی مورد نظر را دارد

در این روش ابتداباید با کلیک بر روی لیست بتونید شماره آیدی رو بگیرید که اگر از لیست ویو استفاده میکنید این روش ممکن هست و یه مقدار به شما برمیگردونه ( اگر این مرحله رو بلد هستید برید خط پایین)

 


dim Id_moredenazar as int = مقداری که از کلیک لیست ویو میگیری


حالا که آیدی رو دارید و در یک مقدار ذخیره کردید مثلا آیدی 4 باید پاک بشه از دستور های بالا یا دستور زیر استفاده کنید تا آیدی مورد نظر در دیتابیس حذف بشه

 


			sql.ExecNonQuery("DELETE FROM table_tell where id = '" & id_morednazar & "'")

 

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

و دوباره داده ها رو بگیر که میبینی داده قبلی با آیدی مورد نظر پاک شده 
موفق باشی

این روش کاملا صحیح است البته برای لیست ویو من از لیست ویو استفاده نکردم از multi panel استفاده کرده که در مالتی پنل از چند لیبیل برای نمایش اطلاعات استفاده کردم که سورس برنامه همراه با دیتابیس  برای شما ارسال میکنم لطفا راهنمایی فرمایید تا انشالله بنده و این برنامه به نتیجه برسد .

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

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

sql.ExecNonQuery("DELETE FROM table_tell where id = '" & label.tag & "'")

 

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

بایگانی شده

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

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

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