どういうわけかコードはデータを挿入しません。私はコンテンツの値にデータをハードコードしています。SQLite Insert does not work
public void addEvent(String username, String itemName, String price, String imageId, String eventType) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(EVENT_USERNAME, username);
values.put(EVENT_ITEM_NAME, itemName);
values.put(EVENT_ITEM_PRICE, price);
values.put(EVENT_ITEM_IMAGE, imageId);
values.put(EVENT_EVENT_TYPE, eventType);
long result;
result = db.insert(TABLE_EVENT, null, values);
Toast.makeText(context, "RESULT = " + result, Toast.LENGTH_SHORT).show();
db.close();
}
結果は常に-1を返します。
これは私のデータソースからのものではありません。それを個別にトーストしただけで、チェックするだけでハードコードされていて、まだそれはありません。
HERESに私の定義
//table name
private static final String TABLE_USERS = "table_users";
private static final String TABLE_EVENT = "table_event"
//table_event columns
private static final String EVENT_ID = "id";
private static final String EVENT_USERNAME = "username";
private static final String EVENT_ITEM_NAME = "item_name";
private static final String EVENT_ITEM_PRICE = "item_price";
private static final String EVENT_ITEM_IMAGE = "item_image_id";
private static final String EVENT_EVENT_TYPE = "event_type";
private static final String CREATE_TABLE_EVENT = "CREATE TABLE " + TABLE_EVENT
+ " (" + EVENT_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ EVENT_USERNAME + " VARCHAR, " + EVENT_ITEM_NAME + " VARCHAR, " + EVENT_ITEM_PRICE + " VARCHAR, "
+ EVENT_ITEM_IMAGE + " VARCHAR" + EVENT_EVENT_TYPE + " VARCHAR)";
usersテーブルが完全に動作します。 AndroidのAPIによると、あなたの時間
あなたは 'CREATE_TABLE_EVENT' - ' ... "VARCHAR" + EVENT_EVENT_TYPE ... 'にカンマがありません。それを修正してから、あなたのアプリをアンインストールして再インストールしてください。 –
+ EVENT_ITEM_IMAGE + "VARCHAR"の後に "、"が見つかりませんでした。それを確認してください。また、Stethoやその他のメカニズムを使ってデバッグし、テーブルが正常に作成されたかどうかを確認してください。 – Aveek
これは私のエラーです。EVENT_ITEM_IMAGEを遅く追加しました。 @Aveekどのように私はstethoを保持することができますどのように動作します – Light