Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
Android 表x没有名为y的列_Android_Database_Sqlite - Fatal编程技术网

Android 表x没有名为y的列

Android 表x没有名为y的列,android,database,sqlite,Android,Database,Sqlite,我在向数据库发送数据时遇到问题 错误: E/SQLiteDatabase:插入linka=14时出错jedu=false cas=2018-05-03 17:33:05 id_veh=1234 android.database.sqlite.SQLiteException:表m_寄存器没有名为linka(代码1)的列,编译时: 插入m_寄存器(linka、jedu、cas、id_veh)值(?,,?) 这是我的类,其中调用了addData。错误由addData方法触发 package

我在向数据库发送数据时遇到问题

错误:

E/SQLiteDatabase:插入linka=14时出错jedu=false cas=2018-05-03 17:33:05 id_veh=1234 android.database.sqlite.SQLiteException:表m_寄存器没有名为linka(代码1)的列,编译时: 插入m_寄存器(linka、jedu、cas、id_veh)值(?,,?)

这是我的类,其中调用了addData。错误由addData方法触发

      package com.example.pc.mhdapp;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import android.util.Log;

public class DatabaseHelper extends SQLiteOpenHelper{
    private static final String TAG = "DatabaseHelper";
    private static final String TABLE_NAME = "m_register";
    private static final String COL1 = "ID";
    private static final String COL2 = "id_veh";
    private static final String COL3 = "linka";
    private static final String COL4 = "jedu";
    private static final String COL5 = "cas";
    public DatabaseHelper(Context context){
    super(context, TABLE_NAME, null, 1);

}
@Override
public void onCreate(SQLiteDatabase db) {
String createTable = "CREATE TABLE " + TABLE_NAME + "  (ID INTEGER(11) PRIMARY KEY AUTOINCREMENT," +
        COL2 + " VARCHAR(11)," +
        COL3 + " VARCHAR(50)," +
        COL4 + " VARCHAR(3)," +
        COL5 + " DATETIME)";
db.execSQL(createTable);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
    onCreate(db);
}

public boolean addData(String id_vehl, String linkas, String jedus, String cass){
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(COL2,  id_vehl);
    contentValues.put(COL3,  linkas);
    contentValues.put(COL4,  jedus);
    contentValues.put(COL5,  cass);

    Log.d(TAG, "addDATA: adding " +  id_vehl+ ", "+linkas+ ", "+jedus+ ", "+cass+ " to " + TABLE_NAME);
    long result = db.insert(TABLE_NAME,null, contentValues);
    if(result == -1){
        return false;
    }else{
        return true;
    }
}

}

您似乎通过添加其他列更改了数据库架构,尝试卸载并重新安装该应用程序,它将正常工作。
提示:下次修改数据库架构时,请在onUpgrade中升级版本,此处
id\u veh
jedu
是整数类型,您正在放入字符串。我更改了它,但仍然是相同的错误OK。如果您已更改DB架构或更新表架构。尝试卸载应用程序并重新安装。