Java Android Studio-错误代码:1(SQLITE_错误),原因是:SQL(查询)错误缺少数据库
出现以下错误消息: 操作失败:表MEDICE没有列名为amount(code1):,编译时:INSERT INTO MEDICE(名称、金额、类型、信息、注册号)值(?,,,,,?) 配置文件:Java Android Studio-错误代码:1(SQLITE_错误),原因是:SQL(查询)错误缺少数据库,java,android,database,sqlite,android-studio,Java,Android,Database,Sqlite,Android Studio,出现以下错误消息: 操作失败:表MEDICE没有列名为amount(code1):,编译时:INSERT INTO MEDICE(名称、金额、类型、信息、注册号)值(?,,,,,?) 配置文件: public class Config { public static final String COLUMN_MEDICINE_ID = "_id"; public static final String COLUMN_MEDICINE_NAME = "name"; publi
public class Config {
public static final String COLUMN_MEDICINE_ID = "_id";
public static final String COLUMN_MEDICINE_NAME = "name";
public static final String COLUMN_MEDICINE_PRODUCT = "registration_no";
public static final String COLUMN_MEDICINE_INFO = "info";
public static final String COLUMN_MEDICINE_TYPE = "type";
public static final String COLUMN_MEDICINE_AMOUNT = "amount";
}
帮助文件:
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_MEDICINE_TABLE = "CREATE TABLE " + Config.TABLE_MEDICINE + "("
+ Config.COLUMN_MEDICINE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ Config.COLUMN_MEDICINE_NAME + " TEXT NOT NULL, "
+ Config.COLUMN_MEDICINE_PRODUCT + " INTEGER NOT NULL UNIQUE, "
+ Config.COLUMN_MEDICINE_INFO + " TEXT, " //nullable
+ Config.COLUMN_MEDICINE_TYPE + " TEXT " //nullable
+ Config.COLUMN_MEDICINE_AMOUNT + " INTEGER UNIQUE, "
+ ")";
Logger.d("Table create SQL: " + CREATE_MEDICINE_TABLE);
db.execSQL(CREATE_MEDICINE_TABLE);
Logger.d("DB created!");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + Config.TABLE_MEDICINE);
onCreate(db);
}
在CREATESQL中,类型和金额列之间忘记了逗号。此外,金额列def后面还有一个逗号:
修复那里的SQL后,您可以卸载应用程序一次以重新触发
onCreate()
您在创建SQL中忘记了类型和金额列之间的逗号。此外,金额列def后面还有一个逗号:
修复SQL后,您可以卸载应用程序一次,以重新触发onCreate()
+ Config.COLUMN_MEDICINE_TYPE + " TEXT " //nullable
+ Config.COLUMN_MEDICINE_AMOUNT + " INTEGER UNIQUE, "
+ ")";