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

درخواست تصحیح این سورس (تشکر فراوان)


parham01

سوال

سلام

در این سورس میاد فیلد های یک تیبل با "|" از هم جدا میکن

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

میخوام فقط فیلد Username نمایش بده

ولی عملکرد item clik تغییر نکن

ممنون

SQLiteDemo.zip

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

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

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

درود

کدهاتون رو قرار بدید

سورس رو تا زمانی که اساتید ازتون درخواست نکردن نزارید بهتره.

خود کد رو قرار بدید

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

#Region Module Attributes
	#FullScreen: False
	#IncludeTitle: True
	#ApplicationLabel: SQLDemo
	#VersionCode: 1
	#VersionName: 
	#SupportedOrientations: portrait
	#CanInstallToExternalStorage: False
#End Region

'Activity module
Sub Process_Globals
	Dim SQL1 As SQL
	Dim cursor1 As Cursor
End Sub

Sub Globals
	
	Dim str As String
	Dim title As String
	Dim bmp As Bitmap
	Dim choice As Int
	Dim share As Intent
	Dim sharetxt As String
	Dim txtUsername As EditText
	Dim txtPassword As EditText
	Dim LVDb As ListView
	Dim cmdAdd As Button
	Dim cmdDelete As Button
	Dim cmdEdit As Button
	Dim ID As String

	Private EditText1 As EditText
	Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("main")
	If File.Exists(File.DirInternal,"db.sql") = False Then
		File.Copy(File.DirAssets,"db.sql",File.DirInternal,"db.sql")
	End If
	
	If SQL1.IsInitialized = False Then
		SQL1.Initialize(File.DirInternal, "db.sql", False)
	End If
	
	DBload("")
	
			
	
	
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub
Sub DBload(q As String)

Private condition As String
q=q.Trim'remove spaces
condition="WHERE Username LIKE '%" & q & "%'"
LVDb.Clear'need to clear the list
cursor1 = SQL1.ExecQuery("SELECT * FROM tblUsers " & condition)
For i = 0 To cursor1.RowCount - 1
cursor1.Position = i
LVDb.AddSingleLine(cursor1.GetString("ID")& "|" &cursor1.GetString("Username")& " مبلغ " & cursor1.GetString("Password"))
LVDb.SingleLineLayout.ItemHeight = 60
LVDb.SingleLineLayout.Label.TextSize = 25
LVDb.SingleLineLayout.Label.TextColor = Colors.red
LVDb.SingleLineLayout.Label.Color = Colors.black

Next


	Dim lbl2 As Label
	lbl2=LVDb.SingleLineLayout.Label
	lbl2.Gravity=Gravity.CENTER_HORIZONTAL
	

	
End Sub

Sub cmdAdd_Click
		
	If txtUsername.Text = "" OR txtPassword.Text = "" Then
		Msgbox("You have to enter all fields","Missed data field")
Else
	
	'Grab the last ID number which is the highest number
	cursor1 = SQL1.ExecQuery("SELECT ID FROM tblUsers")
	If cursor1.RowCount > 0 Then
		For i = 0 To cursor1.RowCount - 1	
	cursor1.Position = i
	
	Dim NewID As Int
	NewID = cursor1.GetInt("ID")
Next

End If
	NewID = NewID +1 ' add 1 to the ID number to make a new ID field
	SQL1.ExecNonQuery("INSERT INTO tblUsers VALUES('" & NewID & "','" & txtUsername.Text & "','" & txtPassword.Text & "')")
	DBload("")
	txtUsername.Text = ""
	txtPassword.Text = ""
	txtUsername.RequestFocus
End If


End Sub
Sub cmdDelete_Click
	
	
	SQL1.ExecNonQuery("DELETE FROM tblUsers where ID = '" &ID & "' ")
	DBload("")
	txtUsername.Text = ""
	txtPassword.Text =""
	EditText1.Text=""
End Sub

Sub LVDb_ItemClick (Position As Int, Value As Object)' click on the entry in the list
Dim idvalue As String
Dim countIt As Int

idvalue = Value
countIt = idvalue.IndexOf("|") 'find location of sperator
idvalue = idvalue.SubString2(0,countIt) 'find first part of label text
ID = idvalue
cursor1 = SQL1.ExecQuery("SELECT * FROM tblUsers where ID = '" & ID & "' ")

For i = 0 To cursor1.RowCount - 1
cursor1.Position = i
	txtUsername.text=cursor1.getString("Username")
	txtPassword.text=cursor1.getString("Password")
Next
title = cursor1.getString("Username")
str = str & cursor1.getString("Password")
bmp.Initialize(File.DirAssets, "eshop.png")
choice = Msgbox2(str, "مبلغ کل بدهی :" & CRLF & title & " هزار تومان ", "ارسال با", "", "بستن", bmp)
	If choice = DialogResponse.POSITIVE Then
   sharetxt = cursor1.getString("Password")
   share.Initialize(share.ACTION_SEND,"")
   share.SetType("text/plain")
   share.PutExtra("android.intent.extra.TEXT", sharetxt)
   share.WrapAsIntentChooser("اشتراک متن من")
   StartActivity(share)
   str = ""
End If
If choice = DialogResponse.NEGATIVE Then
str = ""
End If
End Sub

Sub cmdEdit_Click
 If txtUsername.Text = "" OR txtPassword.Text = "" Then
		Msgbox("Select item to edit","Missed data item")
Else
	SQL1.ExecNonQuery("UPDATE tblUsers set Username ='"& txtUsername.text &"',Password ='"& txtPassword.text &"' WHERE ID = " & ID)
	DBload("")
End If

End Sub
Sub cmdExit_Click
	Activity.finish
	End Sub
	Sub EditText1_TextChanged (Old As String, New As String)
	Dim Hide As IME
	DBload(New)
		If  New.Length> 2 Then
		Hide.Initialize("")
		Hide.HideKeyboard
		End If
End Sub
Sub Button1_Click
	EditText1.Text=""


End Sub

 

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

در 11 دقیقه قبل، parham01 گفته است :

#Region Module Attributes
	#FullScreen: False
	#IncludeTitle: True
	#ApplicationLabel: SQLDemo
	#VersionCode: 1
	#VersionName: 
	#SupportedOrientations: portrait
	#CanInstallToExternalStorage: False
#End Region

'Activity module
Sub Process_Globals
	Dim SQL1 As SQL
	Dim cursor1 As Cursor
End Sub

Sub Globals
	
	Dim str As String
	Dim title As String
	Dim bmp As Bitmap
	Dim choice As Int
	Dim share As Intent
	Dim sharetxt As String
	Dim txtUsername As EditText
	Dim txtPassword As EditText
	Dim LVDb As ListView
	Dim cmdAdd As Button
	Dim cmdDelete As Button
	Dim cmdEdit As Button
	Dim ID As String

	Private EditText1 As EditText
	Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("main")
	If File.Exists(File.DirInternal,"db.sql") = False Then
		File.Copy(File.DirAssets,"db.sql",File.DirInternal,"db.sql")
	End If
	
	If SQL1.IsInitialized = False Then
		SQL1.Initialize(File.DirInternal, "db.sql", False)
	End If
	
	DBload("")
	
			
	
	
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub
Sub DBload(q As String)

Private condition As String
q=q.Trim'remove spaces
condition="WHERE Username LIKE '%" & q & "%'"
LVDb.Clear'need to clear the list
cursor1 = SQL1.ExecQuery("SELECT * FROM tblUsers " & condition)
For i = 0 To cursor1.RowCount - 1
cursor1.Position = i
LVDb.AddSingleLine(cursor1.GetString("ID")& "|" &cursor1.GetString("Username")& " مبلغ " & cursor1.GetString("Password"))
LVDb.SingleLineLayout.ItemHeight = 60
LVDb.SingleLineLayout.Label.TextSize = 25
LVDb.SingleLineLayout.Label.TextColor = Colors.red
LVDb.SingleLineLayout.Label.Color = Colors.black

Next


	Dim lbl2 As Label
	lbl2=LVDb.SingleLineLayout.Label
	lbl2.Gravity=Gravity.CENTER_HORIZONTAL
	

	
End Sub

Sub cmdAdd_Click
		
	If txtUsername.Text = "" OR txtPassword.Text = "" Then
		Msgbox("You have to enter all fields","Missed data field")
Else
	
	'Grab the last ID number which is the highest number
	cursor1 = SQL1.ExecQuery("SELECT ID FROM tblUsers")
	If cursor1.RowCount > 0 Then
		For i = 0 To cursor1.RowCount - 1	
	cursor1.Position = i
	
	Dim NewID As Int
	NewID = cursor1.GetInt("ID")
Next

End If
	NewID = NewID +1 ' add 1 to the ID number to make a new ID field
	SQL1.ExecNonQuery("INSERT INTO tblUsers VALUES('" & NewID & "','" & txtUsername.Text & "','" & txtPassword.Text & "')")
	DBload("")
	txtUsername.Text = ""
	txtPassword.Text = ""
	txtUsername.RequestFocus
End If


End Sub
Sub cmdDelete_Click
	
	
	SQL1.ExecNonQuery("DELETE FROM tblUsers where ID = '" &ID & "' ")
	DBload("")
	txtUsername.Text = ""
	txtPassword.Text =""
	EditText1.Text=""
End Sub

Sub LVDb_ItemClick (Position As Int, Value As Object)' click on the entry in the list
Dim idvalue As String
Dim countIt As Int

idvalue = Value
countIt = idvalue.IndexOf("|") 'find location of sperator
idvalue = idvalue.SubString2(0,countIt) 'find first part of label text
ID = idvalue
cursor1 = SQL1.ExecQuery("SELECT * FROM tblUsers where ID = '" & ID & "' ")

For i = 0 To cursor1.RowCount - 1
cursor1.Position = i
	txtUsername.text=cursor1.getString("Username")
	txtPassword.text=cursor1.getString("Password")
Next
title = cursor1.getString("Username")
str = str & cursor1.getString("Password")
bmp.Initialize(File.DirAssets, "eshop.png")
choice = Msgbox2(str, "مبلغ کل بدهی :" & CRLF & title & " هزار تومان ", "ارسال با", "", "بستن", bmp)
	If choice = DialogResponse.POSITIVE Then
   sharetxt = cursor1.getString("Password")
   share.Initialize(share.ACTION_SEND,"")
   share.SetType("text/plain")
   share.PutExtra("android.intent.extra.TEXT", sharetxt)
   share.WrapAsIntentChooser("اشتراک متن من")
   StartActivity(share)
   str = ""
End If
If choice = DialogResponse.NEGATIVE Then
str = ""
End If
End Sub

Sub cmdEdit_Click
 If txtUsername.Text = "" OR txtPassword.Text = "" Then
		Msgbox("Select item to edit","Missed data item")
Else
	SQL1.ExecNonQuery("UPDATE tblUsers set Username ='"& txtUsername.text &"',Password ='"& txtPassword.text &"' WHERE ID = " & ID)
	DBload("")
End If

End Sub
Sub cmdExit_Click
	Activity.finish
	End Sub
	Sub EditText1_TextChanged (Old As String, New As String)
	Dim Hide As IME
	DBload(New)
		If  New.Length> 2 Then
		Hide.Initialize("")
		Hide.HideKeyboard
		End If
End Sub
Sub Button1_Click
	EditText1.Text=""


End Sub

 

خدمت شما جناب ایزدی

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

این سورس رو از کجا آوردید؟؟؟ فوق العاده الکی هستش....

یعنی پیچیده کار کرده... 

خط 71 که اومدید addsignleline کردید رو اینجوری کنید :

LVDb.AddSingleLine(cursor1.GetString("Username"))

فقط میاد username رو توی listview نشون میده...

حالا واسه کلیکش اگه میخواهید اطلاعات بقیه فیلدهای دیتابیس رو هم توش بگیرید باید id رو بگیرید و باز یک select * from tbl where id = x انجام بدید

و مقادیر رو بگیرید و بدید به string و توی msgbox در توضیحات تکمیلی نمایش بدید

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

ممنونم

خیلی گشتم سورس مناسبی گیر نیاوردم

 

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

 " حالا واسه کلیکش اگه میخواهید اطلاعات بقیه فیلدهای دیتابیس رو هم توش بگیرید باید id رو بگیرید و باز یک select * from tbl where id = x انجام بدید

و مقادیر رو بگیرید و بدید به string و توی msgbox در توضیحات تکمیلی نمایش بدید

 

Sub LVDb_ItemClick (Position As Int, Value As Object)' click on the entry in the list
Dim idvalue As String
Dim countIt As Int

idvalue = Value
countIt = idvalue.IndexOf("|") 'find location of sperator
idvalue = idvalue.SubString2(0,countIt) 'find first part of label text
ID = idvalue
cursor1 = SQL1.ExecQuery("SELECT * FROM tblUsers where ID = '" & ID & "' ")

For i = 0 To cursor1.RowCount - 1
cursor1.Position = i
	txtUsername.text=cursor1.getString("Username")
	txtPassword.text=cursor1.getString("Password")

 

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

توی رویداد ItemClick لیست ویو این رو بزارید :

	Dim num As Int
	num = Position+1
	cursor1 = SQL1.ExecQuery("SELECT * FROM tblUsers where ID = '" & num & "' ")
	cursor1.Position = 0
	Msgbox(cursor1.GetString("Username"),cursor1.GetString("Password"))

کلا هرچی هست و نیست رو حذف کنید و این رو بزارید...

موفق باشید

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

بایگانی شده

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

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

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