اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


  • 0
qmars

مشکل با SQL

سوال

سلام
:scratch_one-s_head: تقریبا چهار ساعته دارم روش کار میکنم
 روی یه دستور select ساده ی sql 

 

	db.existdb("chimikhay.db")
	db.initdb("chimikhay.db")

	Dim cur As Cursor
	cur = Starter.sql.ExecQuery("SELECT name FROM tbl_drawer")

	Log(cur.RowCount)
	
		For i = 0 To cur.RowCount -1
			cur.Position = i
			Log(f)
		
			Log(cur.GetString2(i))

		Next

دو تابع db.existdb , db.initdb
میان چک دیتابیس وجود داره و اینشیالایز شده یا نه

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

ولی توی این پروژه ی جدیدم این ارور رو میده
 

*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
deleted
ANSWERtrue
init:true
false
17
0
صفحه اصلی
1
main_activity_create (java line: 367)
java.lang.IllegalStateException: Couldn't read row 1, col 1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
	at android.database.CursorWindow.nativeGetString(Native Method)
	at android.database.CursorWindow.getString(CursorWindow.java:434)
	at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
	at anywheresoftware.b4a.sql.SQL$CursorWrapper.GetString2(SQL.java:368)
	at b4a.examplew.main._activity_create(main.java:367)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:515)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:186)
	at b4a.examplew.main.afterFirstLayout(main.java:104)
	at b4a.examplew.main.access$000(main.java:17)
	at b4a.examplew.main$WaitForLayout.run(main.java:82)
	at android.os.Handler.handleCallback(Handler.java:733)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:136)
	at android.app.ActivityThread.main(ActivityThread.java:5372)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:515)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:970)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:786)
	at dalvik.system.NativeStart.main(Native Method)

فقط رکورد اول رو میگیره بعد که میاد رکورد دوم رو بگیره ارور میده  و انگار cursor مقدار خودشو از دست میده!
توی دیتابیس هم از blob استفاده نشده
دیتابیس جدید هم ساختم با دو ستون و شش سطر باز هم همین مشکل وجود داشت
تیک کتابخونه های اضافی هم برداشتم که شاید تداخل داشته باشن ولی بازم درست نشد
:blink:

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


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

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

  • 0
در ۱ ساعت قبل، qmars گفته است :

سلام
:scratch_one-s_head: تقریبا چهار ساعته دارم روش کار میکنم
 روی یه دستور select ساده ی sql

...
 

 

سلام

عزیز شما اومدی از گت استرینگ۲ استفاده کردی و پوزیشن رو بهش دادی باید اسم ستون بهش بدی

بجای GetString2 از GetString استفاده کنید

 

نمونه:

If File.Exists(File.DirInternal,"data.db") = False Then
	File.Copy(File.DirAssets,"data.db",File.DirInternal,"data.db")
End If
	
	SQL1.Initialize(File.DirInternal,"data.db",True)
	cur1 = SQL1.ExecQuery("SELECT * FROM tbl")
	For i=0 To cur1.RowCount - 1
	cur1.Position = i

'	ListView1.AddTwoLines(cur1.GetString("id"),cur1.GetString("subject"))

	Next

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 5 دقیقه قبل، ForI گفته است :

 

سلام

عزیز شما اومدی از گت استرینگ۲ استفاده کردی و پوزیشن رو بهش دادی باید اسم ستون بهش بدی

بجای GetString2 از GetString استفاده کنید

 

نمونه:


If File.Exists(File.DirInternal,"data.db") = False Then
	File.Copy(File.DirAssets,"data.db",File.DirInternal,"data.db")
End If
	
	SQL1.Initialize(File.DirInternal,"data.db",True)
	cur1 = SQL1.ExecQuery("SELECT * FROM tbl")
	For i=0 To cur1.RowCount - 1
	cur1.Position = i

'	ListView1.AddTwoLines(cur1.GetString("id"),cur1.GetString("subject"))

	Next

 

مرسی :give_heart:
:bigsmile::bigsmile:همزمان با هم به این نتیجه رسیدیم:bigsmile:

 

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


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

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

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

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.