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

چگونگی تشخیص رسیدن به ابتدای دیتابیس


parvin

سوال

سلام . وقتی تو دیتابیس از اخر به اول داریم میاییم چطوری بفهمیم رسیدیم به کورد اول؟

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

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

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

سلام از رویداد position می تونید استفاده کنید

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

 If cur1.Position=cur1.RowCount-1 Then 
 ToastMessageShow("انتهای جدول ",False)
 Else

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

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

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

 If cur1.Position=cur1.RowCount-1 Then 
 ToastMessageShow("انتهای جدول ",False)
 Else

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

 

باید اینجوری بنویسید

 If cur1.Position=0 Then 
 ToastMessageShow("انتهای جدول ",False)
 end if

این دستور درسته 



موفق باشید

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

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

 If cur1.Position=cur1.RowCount1 Then 
 ToastMessageShow("ابتدای جدول ",False)

یا

 If cur1.Position=cur1.RowCount0 Then 
 ToastMessageShow("ابتدای جدول ",False)

باشه

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

باید اینجوری بنویسید

 If cur1.Position=0 Then 
 ToastMessageShow("انتهای جدول ",False)
 end if

این دستور درسته 



موفق باشید

 

 

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

 If cur1.Position=cur1.RowCount1 Then 
 ToastMessageShow("ابتدای جدول ",False)

یا

 If cur1.Position=cur1.RowCount0 Then 
 ToastMessageShow("ابتدای جدول ",False)

باشه

 

سلام .ممنون از لطفتون .ولی جواب نداد .ببینید

 

post-4426-0-66051300-1451929013_thumb.jpg

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

سلام .ممنون از لطفتون .ولی جواب نداد .ببینید

 

 

ببین دوست عزیز شما باید حلقتو این جوری بنوسید

 

for i=0 to cur.rowcount-1

 

 

next

 

اگه با کد بالا اطلاعات رو از دیتابیس میگیرید حتما با کدی که دادم باید به جواب برسید

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

 

موفق باشید

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

ببین دوست عزیز شما باید حلقتو این جوری بنوسید

 

for i=0 to cur.rowcount-1

 

 

next

 

اگه با کد بالا اطلاعات رو از دیتابیس میگیرید حتما با کدی که دادم باید به جواب برسید

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

 

موفق باشید

سلام . ممنون . سورس خاصی نیست که نخوام اینجا بزارم. درواقع تکلیف درس برنامه نویسی اندرویدم . اینم تمام کدهای این تمرین

Sub Process_Globals
Dim sql1 As SQL
Dim cur1 As Cursor


End Sub

Sub Globals

	Private btnadd As Button
	Private btndel As Button
	Private btnnext As Button
	Private btnpre As Button
	Private imgax As ImageView
	Private lbl2last As Label
	Private lbl2name As Label
	Private lbllast As Label
	Private lblname As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("main")

  If File.Exists(File.DirInternal,"adata.db")= False  Then
  File.Copy(File.DirAssets,"adata.db",File.DirInternal,"adata.db")
  End If 
  If sql1.IsInitialized=False Then
  sql1.Initialize(File.DirInternal,"adata.db",False)
  End If

  cur1=sql1.ExecQuery("SELECT * FROM jadval")
  cur1.Position=0
  For i=0 To cur1.RowCount-1

  lbl2name.Text=cur1.GetString("nam")
  lbl2last.Text=cur1.GetString("famil")

imgax.Bitmap=namayesh

  Next

  
  
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub btnpre_Click
 If cur1.Position=cur1.Position. Then
 ToastMessageShow("ابتدای جدول ",False)
End If


		cur1.Position=cur1.Position-1
	lbl2name.Text=cur1.GetString("nam")
	lbl2last.Text=cur1.GetString("famil")
	imgax.Bitmap=namayesh
End Sub
Sub btnnext_Click
 If cur1.Position=cur1.RowCount-1 Then 
 ToastMessageShow("انتهای جدول ",False)
 Else
	cur1.Position=cur1.Position+1
	lbl2name.Text=cur1.GetString("nam")
	lbl2last.Text=cur1.GetString("famil")
	imgax.Bitmap=namayesh
	
End If 
End Sub
Sub btndel_Click
	
End Sub
Sub btnadd_Click
	
End Sub

Sub namayesh As Bitmap

 Dim bytes() As Byte
bytes=cur1.GetBlob("ax")

Dim input As InputStream
input.InitializeFromBytesArray(bytes,0,bytes.Length)

Dim b As Bitmap
b.Initialize2(input)
input.Close
Return(b)
End Sub

بخش ابتدای دیتابیسش نادرسته

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

 

سلام . ممنون . سورس خاصی نیست که نخوام اینجا بزارم. درواقع تکلیف درس برنامه نویسی اندرویدم . اینم تمام کدهای این تمرین

Sub Process_Globals
Dim sql1 As SQL
Dim cur1 As Cursor


End Sub

Sub Globals

	Private btnadd As Button
	Private btndel As Button
	Private btnnext As Button
	Private btnpre As Button
	Private imgax As ImageView
	Private lbl2last As Label
	Private lbl2name As Label
	Private lbllast As Label
	Private lblname As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("main")

  If File.Exists(File.DirInternal,"adata.db")= False  Then
  File.Copy(File.DirAssets,"adata.db",File.DirInternal,"adata.db")
  End If 
  If sql1.IsInitialized=False Then
  sql1.Initialize(File.DirInternal,"adata.db",False)
  End If

  cur1=sql1.ExecQuery("SELECT * FROM jadval")
  cur1.Position=0
  For i=0 To cur1.RowCount-1

  lbl2name.Text=cur1.GetString("nam")
  lbl2last.Text=cur1.GetString("famil")

imgax.Bitmap=namayesh

  Next

  
  
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub btnpre_Click
 If cur1.Position=cur1.Position. Then
 ToastMessageShow("ابتدای جدول ",False)
End If


		cur1.Position=cur1.Position-1
	lbl2name.Text=cur1.GetString("nam")
	lbl2last.Text=cur1.GetString("famil")
	imgax.Bitmap=namayesh
End Sub
Sub btnnext_Click
 If cur1.Position=cur1.RowCount-1 Then 
 ToastMessageShow("انتهای جدول ",False)
 Else
	cur1.Position=cur1.Position+1
	lbl2name.Text=cur1.GetString("nam")
	lbl2last.Text=cur1.GetString("famil")
	imgax.Bitmap=namayesh
	
End If 
End Sub
Sub btndel_Click
	
End Sub
Sub btnadd_Click
	
End Sub

Sub namayesh As Bitmap

 Dim bytes() As Byte
bytes=cur1.GetBlob("ax")

Dim input As InputStream
input.InitializeFromBytesArray(bytes,0,bytes.Length)

Dim b As Bitmap
b.Initialize2(input)
input.Close
Return(b)
End Sub

 

الان این کدایه شما کارم میکنه :(

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

اوالا شما باید بیاید cur1.Position=i قرار بدید داخل حلقه فور باید باشه تا تمام اطلاعات رو از دیتابیس بگیر و نشون بده

 

دوم این که اگه شماcur1.Position=0 قرار بدید خوب این یه رکورد گرفته دیگه نمیتونه که ریکورد بگیره :S 

سوما اینکه شما بیا cur1.Position=iقرار بده وتو حلقه فور باشه بعدش بیا پایین تر از nextیعنی بیرون حلقه شرط بزار بگو اگه cur1.Position=0شد که همو رکورد اوله این کارو بکن

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

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

Sub Process_Globals
Dim sql1 As SQL
Dim cur1 As Cursor


End Sub

Sub Globals

	Private btnadd As Button
	Private btndel As Button
	Private btnnext As Button
	Private btnpre As Button
	Private imgax As ImageView
	Private lbl2last As Label
	Private lbl2name As Label
	Private lbllast As Label
	Private lblname As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("main")

  If File.Exists(File.DirInternal,"adata.db")= False  Then
  File.Copy(File.DirAssets,"adata.db",File.DirInternal,"adata.db")
  End If 
  If sql1.IsInitialized=False Then
  sql1.Initialize(File.DirInternal,"adata.db",False)
  End If

  cur1=sql1.ExecQuery("SELECT * FROM jadval")
  For i=0 To cur1.RowCount-1
  cur1.Position=i

  lbl2name.Text=cur1.GetString("nam")
  lbl2last.Text=cur1.GetString("famil")

imgax.Bitmap=namayesh

  Next

if cur1.Position=0 then
زمانی که حلقه به اول رسید این کد اجرا بشه

end if

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

سلام . ممنون . سورس خاصی نیست که نخوام اینجا بزارم. درواقع تکلیف درس برنامه نویسی اندرویدم . اینم تمام کدهای این تمرین

 

بخش ابتدای دیتابیسش نادرسته

کدهای قبلی اشتباه بود
در رابطه با اسکرول ویو این کد 100% کار میده
Sub scvTitles_ScrollChanged(position As Int)
If scvTitles.ScrollPosition+scvTitles.Height=scvTitles.Panel.Height Then
	ToastMessageShow("انتهای جدول ",False)
	End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

1 - الان این کدایه شما کارم میکنه :(

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

 2 - اوالا شما باید بیاید cur1.Position=i قرار بدید داخل حلقه فور باید باشه تا تمام اطلاعات رو از دیتابیس بگیر و نشون بده

 

دوم این که اگه شماcur1.Position=0 قرار بدید خوب این یه رکورد گرفته دیگه نمیتونه که ریکورد بگیره :S 

3 - سوما اینکه شما بیا cur1.Position=iقرار بده وتو حلقه فور باشه بعدش بیا پایین تر از nextیعنی بیرون حلقه شرط بزار بگو اگه cur1.Position=0شد که همو رکورد اوله این کارو بکن

 سلام

1- صد در صد کار میکنه . البته غیر از دکمه قبل که باید وقتی رسید اول جدول پیام بده جدول تموم شده

2- اگه اینکار رو کنم موقع اجرا میره از انتهای جدول شروع میشه و من نمیخوام اونطوری باشه

3- اینم که همون مورد شماره 2 هستش

اینم کل پوشه برنامه . اجراش کن ببین

atest.rar

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

دوباره سلام

ببینید دوستان اینطوری مشکلم رو فعلا حل کردم .خدا کنه استادمون هم قبولش کنه  . :D :D :D :D

Sub btnpre_Click
 If cur1.Position=1 Then
 ToastMessageShow("ابتدای جدول ",False)
 btnpre.Enabled=False
End If

		cur1.Position=cur1.Position-1
	lbl2name.Text=cur1.GetString("nam")
	lbl2last.Text=cur1.GetString("famil")
	imgax.Bitmap=namayesh
End Sub

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

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

دوباره سلام

ببینید دوستان اینطوری مشکلم رو فعلا حل کردم .خدا کنه استادمون هم قبولش کنه  . :D :D :D :D

Sub btnpre_Click
 If cur1.Position=1 Then
 ToastMessageShow("ابتدای جدول ",False)
 btnpre.Enabled=False
End If

		cur1.Position=cur1.Position-1
	lbl2name.Text=cur1.GetString("nam")
	lbl2last.Text=cur1.GetString("famil")
	imgax.Bitmap=namayesh
End Sub

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

اینجوری سر هم بندی میشه ولی اصلی نیست استادتون اگه یه نگاه سرسری بندازه و براش فرقی نداشته باشه اینو قبول می کنه ولی این راهش نیست  :oops:

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

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

دوباره سلام

ببینید دوستان اینطوری مشکلم رو فعلا حل کردم .خدا کنه استادمون هم قبولش کنه  . :D :D :D :D

Sub btnpre_Click
 If cur1.Position=1 Then
 ToastMessageShow("ابتدای جدول ",False)
 btnpre.Enabled=False
End If

		cur1.Position=cur1.Position-1
	lbl2name.Text=cur1.GetString("nam")
	lbl2last.Text=cur1.GetString("famil")
	imgax.Bitmap=namayesh
End Sub

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

 

من مشکلتو حل کردم کجا برات اپلود کنم

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

بفرما اینم لینک پروژت 

http://s3.picofile.com/file/8231664284/atest.rar.html

 

فقط یه نگاهی هم به دیتابیست بکنی یه کوچلو تغییرش دادم و تو سورس هم یه توضیحاتی دادم

دیگه ارور نمیده :eynak:  :eynak:

 

موفق باشی

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

بایگانی شده

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

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

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