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

مشکل در Limit دادن


qasem

سوال

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

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

سلام

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

حدس بنده این هستش که شما از Cursor.Close  در جای مناسبی استفاده نکردید.

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

سلام امروز نگاهش کردم 

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

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

تو چن جا یادت رفته بود کدارو درست کنی اصلاح کردم . با کدهای خودت یه سورس اصلاح شده نوشتم 

تغییر بده---Dim cur , other As Cursor بهDim cur1 as   Cursor یک عدد کافی هست

داخل گلوبال Dim size As Int =0'

داخل sv_ScrollChanged(Position در قسمت "SELECT * FROM tbl_porsesh_mohem LIMIT اینو نذاشتی " OFFSET 

Sub Process_Globals
	Dim sql1 As SQL
	Dim meghdar As String
End Sub

Sub Globals
    
	Dim TenRecordPlus As String = "10"
	Dim cur1 As Cursor'<------------------------تغییر بده---Dim cur , other As Cursor
	Private sv As ScrollView
	Private Label1 As Label
	Dim size As Int =0'<--------------------مساوی صفر کن
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("menu")
	If FirstTime Then
	If File.Exists(File.DirInternal,"porsesh_mohem_pasokh_kootah.db") = False Then 
		File.Copy(File.DirAssets,"porsesh_mohem_pasokh_kootah.db",File.DirInternal,"porsesh_mohem_pasokh_kootah.db")
	End If
	sql1.Initialize(File.DirInternal,"porsesh_mohem_pasokh_kootah.db",False)
	cur1 = sql1.ExecQuery2("SELECT * FROM tbl_porsesh_mohem ORDER BY ID LIMIT ?",Array As String(10))
	For i = 0 To cur1.RowCount -1
		cur1.Position = i
		Dim p1 As Panel
		p1.Initialize("")
		sv.Panel.AddView(p1,2%x,size,96%x,90dip)
		size = size + 95dip
		p1.LoadLayout("formonvan")
		Label1.Tag = i
		Label1.Text = cur1.GetString("onvan")
		Label1.TextColor = Colors.White
		Label1.TextSize = 17
		
	Next
	cur1.Close
	sv.Panel.Height = size
 End If
'	 CreatMenu
	 sv.Panel.Color = Colors.Transparent
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub sv_ScrollChanged(Position As Int)
	cur1 = sql1.ExecQuery2("SELECT * FROM tbl_porsesh_mohem OFFSET LIMIT ?,?",Array As String(TenRecordPlus,10))'<----------------------- نذاشتیOFFSET
	 If sv.ScrollPosition + sv.Height = sv.Panel.Height  Then
'==========================================================
	For i = 0 To cur1.RowCount -1
	cur1.Position = i
	Dim p1 As Panel
	p1.Initialize("")
	sv.Panel.AddView(p1,2%x,size,96%x,90dip)
	p1.LoadLayout("formonvan")
	size = size + 95dip
	Label1.Tag = i
	Label1.Text = cur1.GetString("onvan")
	Label1.TextColor = Colors.White
	Label1.TextSize = 17
	Next
'=========================================================
	cur1.Close
	sv.Panel.Height = size
	 DoEvents
	If IsNumber(TenRecordPlus) = True Then
	      TenRecordPlus = TenRecordPlus + 10
	   End If
	End If
 
End Sub

سورس اصلاح شدش هم اگه تونستم میزارم

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

دمت گرم دوست عزیز متشکرم مشکل حل شد.

اگه بخوام برای زیباتر شدن برنامه یه انیمیشنی هم به اسکرول شدن بدم چیکار باید کرد؟

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

خب اینم کدهای کامل

#Region  Activity Attributes 
	#FullScreen: false
	#IncludeTitle: false
#End Region

Sub Process_Globals
	Dim sql1 As SQL
	Dim meghdar As String
End Sub

Sub Globals
	Dim TenRecordPlus As String = "10"
	Dim cur , other As Cursor
	Private sv As ScrollView
	Dim sm As SlidingMenu
	Dim lv As ListView
	Private Label1 As Label
	Private sidbar As ImageView
	Dim size As Int 
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("menu")
	sm.Initialize("sm")
	lv.Initialize("lv")
	If FirstTime Then
	If File.Exists(File.DirInternal,"porsesh_mohem_pasokh_kootah.db") = False Then 
		File.Copy(File.DirAssets,"porsesh_mohem_pasokh_kootah.db",File.DirInternal,"porsesh_mohem_pasokh_kootah.db")
	End If
	sql1.Initialize(File.DirInternal,"porsesh_mohem_pasokh_kootah.db",False)
	cur = sql1.ExecQuery2("SELECT * FROM tbl_porsesh_mohem ORDER BY ID LIMIT ?",Array As String(10))
	For i = 0 To cur.RowCount -1
		cur.Position = i
		Dim p1 As Panel
		p1.Initialize("")
		sv.Panel.AddView(p1,2%x,size,96%x,90dip)
		size = size + 95dip
		p1.LoadLayout("formonvan")
		Label1.Tag = i
		Label1.Text = cur.GetString("onvan")
		Label1.TextColor = Colors.White
		Label1.TextSize = 17
	Next
	cur.Close
	sv.Panel.Height = size
 End If
	 CreatMenu
	 sv.Panel.Color = Colors.Transparent
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub sv_ScrollChanged(Position As Int)
	other = sql1.ExecQuery2("SELECT * FROM tbl_porsesh_mohem LIMIT ?,?",Array As String(TenRecordPlus,10))
	 If sv.ScrollPosition + sv.Height = sv.Panel.Height  Then
	For i = 0 To other.RowCount -1
	other.Position = i
	Dim p1 As Panel
	p1.Initialize("")
	sv.Panel.AddView(p1,2%x,size,96%x,90dip)
	p1.LoadLayout("formonvan")
	size = size + 95dip
	Label1.Tag = i
	Label1.Text = cur.GetString("onvan")
	Label1.TextColor = Colors.White
	Label1.TextSize = 17
	Next
	cur.Close
	sv.Panel.Height = size
	 DoEvents
	If IsNumber(TenRecordPlus) = True Then
	      TenRecordPlus = TenRecordPlus + 10
	   End If
	End If
 
End Sub

Sub CreatMenu
	sm.BehindOffset = 30%x
	sm.Mode = sm.RIGHT
	lv.AddTwoLinesAndBitmap("جستجو کردن","",LoadBitmap(File.DirAssets,"search.png"))
	lv.AddTwoLinesAndBitmap("نشان شده ها","",LoadBitmap(File.DirAssets,"heart.png"))
	lv.AddTwoLinesAndBitmap("سایر محصولات","",LoadBitmap(File.DirAssets,"shopping.png"))
	lv.AddTwoLinesAndBitmap("ارتباط با ما","",LoadBitmap(File.DirAssets,"link.png"))
	lv.AddTwoLinesAndBitmap("نظر دادن","",LoadBitmap(File.DirAssets,"star.png"))
	lv.AddTwoLinesAndBitmap("درباره ما","",LoadBitmap(File.DirAssets,"info.png"))
	lv.AddTwoLinesAndBitmap("خروج","",LoadBitmap(File.DirAssets,"shut_down.png"))
	lv.TwoLinesAndBitmap.Label.TextColor = Colors.White
	lv.Color = Colors.RGB(0, 153, 204)
	lv.TwoLinesAndBitmap.Label.TextSize = 16
	lv.TwoLinesAndBitmap.ImageView.Left = 55%x
	lv.TwoLinesAndBitmap.ImageView.Width = 9%x
	lv.TwoLinesAndBitmap.Label.Left = 0
	lv.TwoLinesAndBitmap.Label.Width = 50%x
	lv.TwoLinesAndBitmap.Label.Gravity = Gravity.CENTER_VERTICAL
	lv.TwoLinesAndBitmap.ItemHeight = 10%y
	lv.TwoLinesAndBitmap.Label.Height = 10%y
	lv.TwoLinesAndBitmap.ImageView.Height = 5%y
	lv.TwoLinesAndBitmap.ImageView.Top = 3%y
	sm.Menu.AddView(lv,0,0,100%x,100%y)
End Sub

Sub lv_ItemClick (Position As Int, Value As Object)
	Select Position
		Case 0
			StartActivity(search)
		Case 1
			StartActivity(alaghemandi)
		Case 2
			Dim a1aria As AriaMarkets
			Try
				a1aria.Cafebazaar_SafheToseDahande("abolghasem")
			Catch
				Log("")
			End Try
		Case 3
			Dim p1 As Email
			p1.To.Add("[email protected]")
			StartActivity(p1.GetIntent)
		Case 4
			Try
			Dim market As Intent, uri As String
		    uri="bazaar://details?id=ir.blog.basic4androids.porsesh.mohem"
		    market.Initialize(market.ACTION_EDIT,uri)
		    StartActivity(market)
			Catch
			Log("")
			End Try
'			Dim aria As AriaMarkets
'			Try
'			aria.Myket_SafheNazarDehi("ir.blog.basic4androids.rovzeolama")
'			Catch
'			Log("")
'			End Try
		Case 5
			Dim custom As CustomDialog
			Private ScrollView1 As ScrollView
			ScrollView1.Initialize(100%y)
			Dim lab As Label
			lab.Initialize("lab")
			lab.Text ="نسخه 1.1 "&CRLF&""&CRLF&"پل ارتباطی ما با شما"&CRLF&""&CRLF&""&CRLF&"منبع برنامه :"&CRLF&"www.ghadeer.org"&CRLF&""&CRLF&"© 2012-2015"
			lab.Gravity = Gravity.CENTER
			lab.TextSize = 16
			lab.TextColor = Colors.White
			Dim pane1 As Panel
			pane1.Initialize("")
			custom.AddView(pane1,0,0,80%x,60%y)
			pane1.AddView(ScrollView1,3%x,40dip,80%x,60%y)
			ScrollView1.Panel.AddView(lab,0,0,ScrollView1.Width,ScrollView1.Height)
			lab.Width = 76%x
			Dim su As StringUtils
			lab.Height = su.MeasureMultilineTextHeight(lab,lab.Text)
			ScrollView1.Panel.Height =su.MeasureMultilineTextHeight(lab,lab.Text)+ 10%y
			custom.Show("","OK","","",Null)
		Case 6
			Dim msg As Int
			msg = Msgbox2("لطفاً قبل از خروج به برنامه امتیاز دهید.","","ثبت نظر","سایر محصولات","خروج",Null)
			If msg = DialogResponse.POSITIVE Then
			Try
			Dim market As Intent, uri As String
		    uri="bazaar://details?id=ir.blog.basic4androids.porsesh.mohem"
		    market.Initialize(market.ACTION_EDIT,uri)
		    StartActivity(market)
			Catch
			Log("")
			End Try
				Else If msg = DialogResponse.CANCEL Then
			Dim aria As AriaMarkets
			Try
				aria.Cafebazaar_SafheToseDahande("abolghasem")
			Catch
				Log("")
			End Try
			Else If msg = DialogResponse.NEGATIVE Then
			Activity.Finish
			ExitApplication
			End If
	End Select
End Sub

Sub sidbar_Click
	If sm.Visible = True Then
		sm.HideMenus
	Else
		sm.ShowMenu
	End If
End Sub

Sub Label1_Click
	Label1 = Sender
	Label1.TextColor = Colors.Yellow
	meghdar = Label1.Text
	StartActivity(matn)
End Sub

Sub Activity_KeyPress (KeyCode As Int) As Boolean 
	If KeyCode = KeyCodes.KEYCODE_BACK Then
		Dim msg As Int
		msg = Msgbox2("لطفاً قبل از خروج به برنامه امتیاز دهید.","","ثبت نظر","سایر محصولات","خروج",Null)
	If msg = DialogResponse.POSITIVE Then
		Try
		Dim market As Intent, uri As String
	    uri="bazaar://details?id=ir.blog.basic4androids.porsesh.mohem"
	    market.Initialize(market.ACTION_EDIT,uri)
	    StartActivity(market)
		Catch
		Log("")
		End Try
	Else If msg = DialogResponse.CANCEL Then
	Dim aria As AriaMarkets
	Try
		aria.Cafebazaar_SafheToseDahande("abolghasem")
	Catch
		Log("")
	End Try
	Else If msg = DialogResponse.NEGATIVE Then
		Activity.Finish
		ExitApplication
	End If
			Else If KeyCode = KeyCodes.KEYCODE_MENU Then
		If sm.Visible = True Then
		sm.HideMenus
	Else
		sm.ShowMenu
	End If
	End If
	Return True
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلامی دوباره

مشکل این است وقتی بخوام بگم 5 تا 5 تا لود کن ، فقط پنج تای اول نشون داده میشه و اسکرول هم نمیشه ، وقتی عدد 5 را تبدیل به 10 تا و یا بیشتر میکنم 10 تای اول نشون داده میشه و وقتی اسکرول میکنم و به انتهای 10 تا میرسه همین خطای بالا را میده که عکسش را بالا گذاشتم.

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

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

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("menu")
	sm.Initialize("sm")
	lv.Initialize("lv")
	If FirstTime Then
	If File.Exists(File.DirInternal,"porsesh_mohem_pasokh_kootah.db") = False Then 
		File.Copy(File.DirAssets,"porsesh_mohem_pasokh_kootah.db",File.DirInternal,"porsesh_mohem_pasokh_kootah.db")
	End If
	sql1.Initialize(File.DirInternal,"porsesh_mohem_pasokh_kootah.db",False)
	cur = sql1.ExecQuery2("SELECT * FROM tbl_porsesh_mohem ORDER BY ID LIMIT ?",Array As String(5))
	For i = 0 To cur.RowCount -1
		cur.Position = i
		Dim p1 As Panel
		p1.Initialize("")
		sv.Panel.AddView(p1,2%x,size,96%x,90dip)
		p1.LoadLayout("formonvan")
		size = size + 95dip
		Label1.Tag = i
		Label1.Text = cur.GetString("onvan")
		Label1.TextColor = Colors.White
		Label1.TextSize = 17
	Next
	cur.Close
	sv.Panel.Height = size
 End If
	 CreatMenu
	 sv.Panel.Height = (cur.RowCount * 95dip) + 2dip 
	 sv.Panel.Color = Colors.Transparent
End Sub

این هم کدهای ساب اسکرول ویو چینج

Sub sv_ScrollChanged(Position As Int)
	Other = sql1.ExecQuery2("SELECT * FROM tbl_porsesh_mohem OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))
	  If sv.ScrollPosition + sv.Height = sv.Panel.Height  Then
		For i = 0 To Other.RowCount -1
		Other.Position = i
		Dim p1 As Panel
		p1.Initialize("")
		sv.Panel.AddView(p1,2%x,size,96%x,90dip)
		p1.LoadLayout("formonvan")
		size = size + 95dip
		Label1.Tag = i
		Label1.Text = cur.GetString("onvan")
		Label1.TextColor = Colors.White
		Label1.TextSize = 17
	 Next
		 Other.Close
		 sv.Panel.Height = size
		 DoEvents
		If IsNumber(TenRecordPlus) = True Then
	       TenRecordPlus = TenRecordPlus + 5
	    End If
	 End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب این ارور چه زمانی رخ میده ؟

یکم توضیح بدید.چون به ظاره کد درسته.

و یک نکته دیگه اینکه کلمه OFFSET  رو از داخل کوئری پاک کنید چون نیازی بهش نیست.فقط همین کلمه رو حذف کنید.

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

بایگانی شده

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

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

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