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

آپدیت متن در دیتابیس


Erfan-B

سوال

سلام خدمت دوستان عزیز

اگه بخوایم توی دیتابیس ی خونه رو با آی دی مشخص آپدیت کنیم از چه کدی باید استفاده بشه؟ به عنوان مثال توی اون خونه متن EditText باید قرار بگیره

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

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

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

از فرمان update به این صورت میشه استفاده کرد ... حالا نسبت به دیتابیس خودتون تغییرش بدین :

UPDATE nametable SET namesotun = 'amin' WHERE ID = 6

اگه خواستین کل ستون تغییر کنه دیگه where id رو به کار نبرین . به این صورت :

UPDATE nametable SET namesotun = 'amin'
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

از فرمان update به این صورت میشه استفاده کرد ... حالا نسبت به دیتابیس خودتون تغییرش بدین :

UPDATE nametable SET namesotun = 'amin' WHERE ID = 6

اگه خواستین کل ستون تغییر کنه دیگه where id رو به کار نبرین . به این صورت :

UPDATE nametable SET namesotun = 'amin'

 تشکر از پاسختون، اگه بخوام متن داخل ادیت تکست به جای amin وارد بشه چجوری باید کد رو تغییر بدم؟

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

آقا کدای من به صورت زیره ولی وقتی باتون رو میزنم خونه شماره 2 ستون list به Test تغییر پیدا نمیکنه و همون متن قبلی دیتابیس توی لیبل2 نشون داده میشه

#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 

	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

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

Sub Process_Globals
	
End Sub

Sub Globals
	
	Private listview1 As ListView
	Dim SQL1 As SQL
	Private Button1 As Button
	Private Label1 As Label
	Private EditText1 As EditText
	Private Label2 As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
	
	Activity.LoadLayout("Layout1")
	File.Copy(File.DirAssets,"test.db",File.DirInternal,"test.db")
	SQL1.Initialize(File.DirInternal,"test.db",True)
	
	
	Dim cur As Cursor
	cur = SQL1.ExecQuery("Select * FROM ttable")
	cur.Position = 2
	Label1.Text = cur.GetString("list")
	cur= SQL1.ExecQuery("SELECT * FROM ttable")
	For i =0 To cur.RowCount - 1
		cur.Position = i
		listview1.AddSingleLine(cur.GetString("list"))
	Next
	
	
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub Button1_Click
	SQL1.ExecNonQuery("UPDATE ttable SET list ='Test' WHERE ID = 2")
	Dim cur As Cursor
	cur = SQL1.ExecQuery("Select * FROM ttable")
	cur.Position = 2
	Label2.Text = cur.GetString("list")
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

اینجوری استفاده کن :

sql.execnonquery2("UPDATE table SET column =? WHERE ID = 2",array As object(edittext1.text))

 

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

#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

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

Sub Process_Globals


End Sub

Sub Globals

	Private listview1 As ListView
	Dim SQL1 As SQL
	Private Button1 As Button
	Private Label1 As Label
	Private EditText1 As EditText
	Private Label2 As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("Layout1")
	File.Copy(File.DirAssets,"test.db",File.DirInternal,"test.db")
	SQL1.Initialize(File.DirInternal,"test.db",True)
	
	
	Dim cur As Cursor
	cur = SQL1.ExecQuery("Select * FROM ttable")
	cur.Position = 2
	Label1.Text = cur.GetString("list")
	cur= SQL1.ExecQuery("SELECT * FROM ttable")
	For i =0 To cur.RowCount - 1
		cur.Position = i
		listview1.AddSingleLine(cur.GetString("list"))
	Next
	
	
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub Button1_Click
	SQL1.execnonquery2("UPDATE ttable SET list = ? WHERE ID = 2",Array As Object(EditText1.text))
	
	Dim cur As Cursor
	cur = SQL1.ExecQuery("Select * FROM ttable")
	cur.Position = 2
	Label2.Text = cur.GetString("list")
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

position از 0 شروع میشه ... شما position رو به جای 2 , 1 قرار بده فکر کنم مشکلت حل شه

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

position از 0 شروع میشه ... شما position رو به جای 2 , 1 قرار بده فکر کنم مشکلت حل شه

خب من دیتابیسم سه ردیف داره و میخوام ردیف سوم تغییر کنه، پس باید آی دی همون 2 باشه، منتها نمیدونم چرا هیچ تغییری نمیکنه

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

نه اونو نمیگم . این خط رو میگم :

cur.Position = 2

یعنی شما فیلد id رو هم از 0 شروع کردین ؟ یعنی 3تا فیلد 0 1 2 ؟

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

نه اونو نمیگم . این خط رو میگم :

cur.Position = 2
یعنی شما فیلد id رو هم از 0 شروع کردین ؟ یعنی 3تا فیلد 0 1 2 ؟

 

خیر، آی دی از 1 شروع شده، تصویر پیوست دیتابیس رو نشون میده

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

آقا ی سوال، مگه پوزیشن نباید با آی دی برابر باشه؟ چون الآن طبق گفته شما پوزیشن رو یکی کم کردم و درست شد :eynak:

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

آقا ی سوال، مگه پوزیشن نباید با آی دی برابر باشه؟ چون الآن طبق گفته شما پوزیشن رو یکی کم کردم و درست شد :eynak:

نه دیگه یکی نیست position از 0 شروع میشه ... شمام میتونی id رو از 0 شروع کنی ولی اگه رو auto باشه id از 1 شروع میشه که اینجا خیلی ها اشتباه میکنن که خدارو شکر واسه شما حل شد

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

 تشکر از پاسختون، اگه بخوام متن داخل ادیت تکست به جای amin وارد بشه چجوری باید کد رو تغییر بدم؟

 

اینجوری استفاده کن :

sql.execnonquery2("UPDATE table SET column =? WHERE ID = 2",array As object(edittext1.text))
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

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

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