Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 致命异常:主sqlite_Java_Android_Sqlite - Fatal编程技术网

Java 致命异常:主sqlite

Java 致命异常:主sqlite,java,android,sqlite,Java,Android,Sqlite,我无法理解这个错误,在我的update命令中,我有10个字段要更新,但是出现了这个错误09-17 17:18:25.234:E/AndroidRuntime(4929):java.lang.RuntimeException:无法启动activity ComponentInfo{com.jpos/com.sys.Main}:java.lang.IllegalArgumentException:索引11处的绑定值为null 它表示索引11为空,但我的表中待输入字段的总列数为10 09-17 17:1

我无法理解这个错误,在我的update命令中,我有10个字段要更新,但是出现了这个错误
09-17 17:18:25.234:E/AndroidRuntime(4929):java.lang.RuntimeException:无法启动activity ComponentInfo{com.jpos/com.sys.Main}:java.lang.IllegalArgumentException:索引11处的绑定值为null

它表示索引11为空,但我的表中待输入字段的总列数为10

09-17 17:18:25.203: W/dalvikvm(4929): threadid=1: thread exiting with uncaught exception (group=0x40015560)
09-17 17:18:25.234: E/AndroidRuntime(4929): FATAL EXCEPTION: main
09-17 17:18:25.234: E/AndroidRuntime(4929): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jpos/com.sys.Main}: java.lang.IllegalArgumentException: the bind value at index 11 is null
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.os.Looper.loop(Looper.java:123)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.app.ActivityThread.main(ActivityThread.java:3647)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at java.lang.reflect.Method.invokeNative(Native Method)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at java.lang.reflect.Method.invoke(Method.java:507)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at dalvik.system.NativeStart.main(Native Method)
09-17 17:18:25.234: E/AndroidRuntime(4929): Caused by: java.lang.IllegalArgumentException: the bind value at index 11 is null
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:237)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1701)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1636)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at com.jpos.classes.jposDbHelperHashMap.updateTableMunicipality(DbHelperHashMap.java:103)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at com.jpos.JPOSMain.UpdateTableMunicipalityCodes(JPOSMain.java:146)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at com.jpos.JPOSMain.onCreate(JPOSMain.java:115)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-17 17:18:25.234: E/AndroidRuntime(4929):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
09-17 17:18:25.234: E/AndroidRuntime(4929):     ... 11 more
这是我的更新命令

 private void UpdateTableMunicipalityCodes() {
        HashMap<String, String> queryValues =  new  HashMap<String, String>();

        queryValues.put("munc_id", "7");
        queryValues.put("rdo_code", "999" );
        queryValues.put("munc_code", "999");
        queryValues.put("munc_desc", "UPDATECOMMAND");
        queryValues.put("area_code", "999");
        queryValues.put("created_date", "2013-17-2013 06:02:29");
        queryValues.put("created_by", "SYSGENn");
        queryValues.put("last_modified_date", "2013-17-2013 07:02:09");
        queryValues.put("last_modified_by", "SYSGENn");
        queryValues.put("munc_status", "A");
        hashDbHelper.updateTableMunicipality(queryValues);

      }
我想我的错误在表中的约束自动索引器中。。我怎样才能修好它


您正试图从
HashMap
中读取一个不存在的条目,因此得到
null

queryValues.put(“munc_id”,“7”);
...
update(…,newString[]{queryValues.get(“MUNC_ID”)});

正如muratgu所说,你必须使用
queryValues.get(“munc_id”)
queryValues.get(“munc_id”)
应该是
queryValues.get(“munc_id”)
我把它作为所有大写字母分配到我的表中。。“MUNC_ID”是我的列名,“MUNC_ID”是我要分配的新值。表中的第11列是什么,请发布表的创建语句。您好,感谢您通知我有关创建表查询的信息。。在我的sqlite浏览器中,它具有自动索引记录计数器。。可能由于自动生成的记录计数器,我的填充字段不一致。。
public void updateTableMunicipality(HashMap<String, String> queryValues) 
{ 
        database = this.getWritableDatabase();  
        ContentValues values = new ContentValues();
        values.put("MUNC_ID", queryValues.get("munc_id"));
        values.put("RDO_CODE", queryValues.get("rdo_code"));
        values.put("MUNC_CODE", queryValues.get("munc_code"));
        values.put("MUNC_DESC", queryValues.get("munc_desc"));
        values.put("AREA_CODE", queryValues.get("area_code"));
        values.put("CREATED_DATE", queryValues.get("created_date"));
        values.put("CREATED_BY", queryValues.get("created_by"));
        values.put("LAST_MODIFIED_DATE", queryValues.get("last_modified_date"));
        values.put("LAST_MODIFIED_BY", queryValues.get("last_modified_by"));
        values.put("MUNC_STATUS", queryValues.get("munc_status"));      
        database.update("tbl_municipality_codes", values, "MUNC_ID" + " = ?",     newString[] { queryValues.get("MUNC_ID") });
        System.out.println("Updated " + queryValues.get("munc_id"));        
      }
    query ="CREATE TABLE [tbl_municipality_codes] (" +
              "[MUNC_ID] [INT(1000)] NOT NULL," +
              "[RDO_CODE] [VARCHAR(50)] NOT NULL," +
              "[MUNC_CODE] [VARCHAR(50)] NOT NULL, " +
              "[MUNC_DESC] [VARCHAR(100)] NOT NULL, "+
              "[AREA_CODE] VARCHAR, "+
              "[CREATED_DATE] DATETIME NOT NULL," +
              "[CREATED_BY] [VARCHAR(50)] NOT NULL, "+
             "[LAST_MODIFIED_DATE] DATETIME," +
              "[LAST_MODIFIED_BY] [VARCHAR(50)],"+
              "[MUNC_STATUS] [VARCHAR(1)] NOT NULL,"+
              "CONSTRAINT [sqlite_autoindex_tbl_municipality_codes_1] PRIMARY KEY ([MUNC_ID]))";