Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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 继续获取SQLiteException没有这样的列_Java_Android_Database_Sqlite - Fatal编程技术网

Java 继续获取SQLiteException没有这样的列

Java 继续获取SQLiteException没有这样的列,java,android,database,sqlite,Java,Android,Database,Sqlite,我正在尝试更新数据库的某一行,我有以下代码 public String CREATE_QUERY = "CREATE TABLE " + TableData.TableInfo.TABLE_NAME + "(" + TableData.TableInfo.USER_NAME + " TEXT, " + TableData.TableInfo.USER_PIN + " TEXT, " + TableData.TableInfo.PARTNER_FIRST + "

我正在尝试更新数据库的某一行,我有以下代码

 public String CREATE_QUERY = "CREATE TABLE " + TableData.TableInfo.TABLE_NAME +
        "(" + TableData.TableInfo.USER_NAME + " TEXT, " + TableData.TableInfo.USER_PIN +
        " TEXT, " + TableData.TableInfo.PARTNER_FIRST + " Text, " + TableData.TableInfo.PARTNER_SECOND +
        " TEXT, " + TableData.TableInfo.DATE + " TEXT, " + TableData.TableInfo.SIGNATURE_IMAGE + " BLOB, " +
        TableData.TableInfo.PARTNER_SIGNATURE + " BLOB);";
我从中得到一个错误

ContentValues cv = new ContentValues();
    DatabaseOperations DOP = new DatabaseOperations(ctx);
    Cursor CR = DOP.getInformation(DOP);
    CR.moveToLast();

    SQLiteDatabase SQ = DOP.getWritableDatabase();

    ContentValues args = new ContentValues();
    args.put(TableData.TableInfo.USER_NAME, CR.getString(0));
    args.put(TableData.TableInfo.PARTNER_FIRST, partner_name);


    SQ.update(TableData.TableInfo.TABLE_NAME, args, "ROWID=?" + id, null);
这就是错误:

     Caused by: android.database.sqlite.SQLiteException: no such column: partner_first (code 1): , while compiling: UPDATE reg_info SET user_name=?,partner_first=? WHERE ROWID=?54
这是我的桌子信息

public static abstract class TableInfo implements BaseColumns {

    public static final String USER_NAME = "user_name";
    public static final String USER_PIN = "user_pin";
    public static final String PARTNER_FIRST = "partner_first";
    public static final String PARTNER_SECOND = "partner_second";
    public static final String DATE = "date";
    //public static final String LOC = "location";
    public static final String SIGNATURE_IMAGE = "signature_image";
    public static final String PARTNER_SIGNATURE = "partner_signature";
    public static final String DATABASE_NAME = "user_info";
    public static final String TABLE_NAME = "reg_info";

}

我做错了什么?

问题出在UPDATE语句中-您有一个连接的字符串,并且没有在此行上正确传递“WHERE”参数:

SQ.update(TableData.TableInfo.TABLE_NAME, args, "ROWID=?" + id, null); 
只需这样做:

SQ.update(TableData.TableInfo.TABLE_NAME, args, "ROWID=" + id, null); 
该错误具有误导性,因为SQL语句完全错误

卸载重命名数据库。。这种情况经常发生在你 更改表名或数据库中的任何更改


是的,我将其声明为公共静态最终字符串PARTNER\u FIRST=“PARTNER\u FIRST”;旁注:
“ROWID=?”+id
不起作用。@njzk2-ah-right我会将其更改为Long。toString(id)您尝试卸载应用程序并重命名数据库?您是如何创建数据库的?您将“create table”字符串称为“create\u QUERY”,但它根本不是一个查询。。所以,请发布更多的代码,不幸的是仍然会出现相同的错误