Java 更新表时出错

Java 更新表时出错,java,android,sql,sqlite,Java,Android,Sql,Sqlite,当我尝试更新表时,应用程序崩溃并返回此致命错误: 06-09 08:02:34.026: I/Database(342): sqlite returned: error code = 1, msg = no such column: username 06-09 08:02:34.034: E/Database(342): Error updating valore=1234 using UPDATE parametri SET valore=? WHERE _parametro=usernam

当我尝试更新表时,应用程序崩溃并返回此致命错误:

06-09 08:02:34.026: I/Database(342): sqlite returned: error code = 1, msg = no such column: username
06-09 08:02:34.034: E/Database(342): Error updating valore=1234 using UPDATE parametri SET valore=? WHERE _parametro=username
06-09 08:02:34.034: D/AndroidRuntime(342): Shutting down VM
06-09 08:02:34.034: W/dalvikvm(342): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-09 08:02:34.054: E/AndroidRuntime(342): FATAL EXCEPTION: main
06-09 08:02:34.054: E/AndroidRuntime(342): android.database.sqlite.SQLiteException: no such column: username: , while compiling: UPDATE parametri SET valore=? WHERE _parametro=username
插入/更新的功能如下:

    String strFilter = ParametriMetaData.PARAMETRO+"=" + parametro;
    ContentValues args = new ContentValues();
    args.put(ParametriMetaData.VALORE, valore);

    System.out.println( strFilter );

    mDb.update(ParametriMetaData.TAB_PARAMETRI, args, strFilter, null);
这是表的定义:

private static final String CREA_TAB_PARAMETRI = "CREATE TABLE IF NOT EXISTS "  //codice sql di creazione della tabella
                    + ParametriMetaData.TAB_PARAMETRI + " ("
                    + ParametriMetaData.PARAMETRO+ " text primary key, "
                    + ParametriMetaData.VALORE + " text not null);";

什么?谢谢大家!

更新查询必须具有适当的where子句updatetablename、value、referenceField+=?、value


我将通过adb shell转到sqlite3,并验证该表是否有一个名为username的列。您可以看到带有schema?TABLE?的SQL CREATE语句?。我想你会发现桌子的结构有问题


通过在terminalunix或命令promptwindows中执行adb shell,然后执行sqlite3,可以访问sqlite3命令

请把桌子的结构调整好。无法判断ParameterMiAdata.TAB\u Parameteri等是什么..错误消息表示列用户名不存在。您确定查询的格式不正确吗?
String strFilter = ParametriMetaData.PARAMETRO+"=?";
    ContentValues args = new ContentValues();
    args.put(ParametriMetaData.VALORE, valore);

    System.out.println( strFilter );

    mDb.update(ParametriMetaData.TAB_PARAMETRI, args, strFilter, parametro);