سلام تقریبا چهار ساعته دارم روش کار میکنم
روی یه دستور 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 استفاده نشده
دیتابیس جدید هم ساختم با دو ستون و شش سطر باز هم همین مشکل وجود داشت
تیک کتابخونه های اضافی هم برداشتم که شاید تداخل داشته باشن ولی بازم درست نشد
سوال
qmars 38
سلام
تقریبا چهار ساعته دارم روش کار میکنم
روی یه دستور 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 استفاده نشده
دیتابیس جدید هم ساختم با دو ستون و شش سطر باز هم همین مشکل وجود داشت
تیک کتابخونه های اضافی هم برداشتم که شاید تداخل داشته باشن ولی بازم درست نشد
لینک ارسال
به اشتراک گذاری در سایت های دیگر
1 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.