私はSQLiteOpenHelperクラスを使用しています。
私はDBを作成し、DBからの私のすべてのデータは、アプリケーション上にあります。
後でテーブルの1つに1つの列を追加しましたが、今ではそのテーブルにno such column
と表示されています。
私はDBバージョンを更新して、アプリケーションをアンインストールしてDBバージョンを更新した後に再度インストールしましたが、それでも同じ問題が表示されます:no such column
が存在します。SQLiteOpenHelperは、DBのバージョンを変更してもDBを更新しません。
私はコラムコメント場合:タイプを、それは私が新しいファイルに全体のDBの構造を再現し、それでも同じ問題で立ち往生no such column named desc
を言います。
私を助けてください、みんな! onCreateで
public static final String TABLE_RESTAURANTS = "restaurants";
public static final String COLUMN_LID = "id";
public static final String COLUMN_LNAME = "name";
public static final String COLUMN_LDESC = "desc";
public static final String COLUMN_LTYPE = "type";
String CREATE_TABLE_RESTAURANTS = "CREATE TABLE " + TABLE_RESTAURANTS + "("
+ COLUMN_LID + " INTEGER PRIMARY KEY," + COLUMN_LNAME + "TEXT,"
+ COLUMN_LDESC + "TEXT," + COLUMN_LTYPE + "TEXT" + ")";
db.execSQL(CREATE_TABLE_RESTAURANTS);
db.execSQL("DROP TABLE IF EXISTS"+ TABLE_RESTAURANTS);
onCreate(db);
挿入方法
public void insertRestaurantItsms(AppetiserData cartData)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COLUMN_LNAME, cartData.getName());
contentValues.put(COLUMN_LDESC, cartData.getDescription());
contentValues.put(COLUMN_LTYPE, cartData.getCategory());
// Inserting Row
db.insert(TABLE_RESTAURANTS, null, contentValues);
db.close(); // Closing database connection
}
フェッチ方法
ONUPGRADEでpublic List<AppetiserData> getAllDatarl(){
List<AppetiserData> dataList = new ArrayList<>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_RESTAURANTS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
cursor.moveToFirst();
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
AppetiserData data = new AppetiserData();
data.setName(cursor.getString(1));
data.setDescription(cursor.getString(2));
// Adding data to list
dataList.add(data);
} while (cursor.moveToNext());
}
return dataList;
}
あなたは文字列の連結のこのタイプを持ってどこ、忘れてはいけません連結文字列の前にを追加します。例:... EXISTS "+ TABLE_RESTAURANTS ...、COLUMN_LNAME +" TEXT " –
DsD