だから私は名前、カロリー、タンパク質の列を持つデータベースを作ろうとしています。createステートメントは次のとおりです。
public class SQLHelp extends SQLiteOpenHelper{
static final String DATABASE_NAME = "Food.db";
static final String TABLE_FOOD = "food";
static final String NAME_COLUMN = "FoodName";
static final String CALORIE_COLUMN = "Calorie";
static final String PROTEIN_COLUMN = "Protein";
static final String FAT_COLUMN = "Fat";
static final String COLUMN_ID = "id";
public SQLHelp(Context c){
super(c, DATABASE_NAME, null, 1);
}
public void onCreate(SQLiteDatabase db){
String makeTable = "CREATE TABLE " + TABLE_FOOD + "("
+ NAME_COLUMN + " TEXT," + CALORIE_COLUMN + " INTEGER,"
+ PROTEIN_COLUMN + " INTEGER" + ")";
db.execSQL(makeTable);
}
値は、次の方法でデータベースに追加されます。
public void createFood(Food f) {
ContentValues values = new ContentValues();
values.put(SQLHelp.CALORIE_COLUMN, f.getCalories());
values.put(SQLHelp.PROTEIN_COLUMN, f.getProtein());
values.put(SQLHelp.NAME_COLUMN, f.getName());
database.insert(SQLHelp.TABLE_FOOD, null,
values);
}
追加しようとすると、LogCatはProtein列が存在しないことを示すSQLiteExceptionを表示します。さらに奇妙なことに、コメントアウトされたタンパク質行を使用してコードを実行すると、すべてが正常に機能します。
ありがとう!