【问题标题】:Bad request for field slot 0,-1. numRows = 1, numColumns = 8对字段槽 0,-1 的错误请求。 numRows = 1,numColumns = 8
【发布时间】:2013-08-03 13:48:58
【问题描述】:

我正在尝试从 android 中的数据库中检索整个数据...


Sqlite 查询:-
Cursor c = db.rawQuery("SELECT * FROM stud",null);

但例外:-

07-04 18:47:26.249: E/CursorWindow(8314): Bad request for field slot 0,-1. numRows = 1, numColumns = 8
07-04 18:47:26.259: D/AndroidRuntime(8314): Shutting down VM
07-04 18:47:26.259: W/dalvikvm(8314): threadid=1: thread exiting with uncaught exception (group=0x40015560)
07-04 18:47:26.329: E/AndroidRuntime(8314): FATAL EXCEPTION: main
07-04 18:47:26.329: E/AndroidRuntime(8314): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.StudentInfoManagement/com.my.StudentInfoManagement.ListData}: java.lang.IllegalStateException: get field slot from row 0 col -1 failed
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.os.Looper.loop(Looper.java:123)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.app.ActivityThread.main(ActivityThread.java:3683)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at java.lang.reflect.Method.invokeNative(Native Method)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at java.lang.reflect.Method.invoke(Method.java:507)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at dalvik.system.NativeStart.main(Native Method)
07-04 18:47:26.329: E/AndroidRuntime(8314): Caused by: java.lang.IllegalStateException: get field slot from row 0 col -1 failed
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.database.CursorWindow.getString_native(Native Method)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.database.CursorWindow.getString(CursorWindow.java:329)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:49)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at com.my.StudentInfoManagement.DataHelper.selectAll(DataHelper.java:52)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at com.my.StudentInfoManagement.ListData.onCreate(ListData.java:18)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-04 18:47:26.329: E/AndroidRuntime(8314):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
07-04 18:47:26.329: E/AndroidRuntime(8314):     ... 11 more

【问题讨论】:

标签: android sqlite


【解决方案1】:

哈哈,工作了2天,在这种情况下,今天我的学长(Vijar Sir)建议我将id(primary_Key)名称转换为:_id并成功运行,

现在如果你说为什么在实现 phone_contact 后:here 而不是将鼠标悬停在 Contacts._ID 上方,你会发现 _id 与之关联的字符串。

private static final String[] CONTACTS_PROJECTION = new String[] 
{
     Contacts._ID,
     Contacts.DISPLAY_
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-04
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多