私は可能な限りSOを使ってサーフィンしました。私は、私のものと同様の質問に対する答えに記載されているように、テーブルの作成に構文エラーがないことを願っています。データベーステーブルの列が作成されないのはなぜですか?
私はこれを解決してください。
目的の列が作成されていません。これがメッセージです。
E/SQLiteLog:(1)テーブルするcontactDetailsはE/SQLiteDatabase
ContactNumberという名前の列を持っていない:エラーContactNumber = 9655279648 [担当=ガネーシュR
android.database.sqlite.SQLiteExceptionを挿入:テーブルContactDetailsには、ContactNumber(コード1)という名前の列はありません。コンパイル中に:INSERT INTO ContactDetails(ContactNumber、ContactName)VALUES(?、?)
public class ProjectConstants {
public static final String myDbName = "ContactsDatabase.db";
public static final String myTableName = "ContactDetails";
public static final String nameColumn = "ContactName";
public static final String numberColumn = "ContactNumber";
}
私は、プロジェクト全体を通してアクセスされる定数の値を格納するために、上記のような別のクラスを持っています。
public class DBHelper extends SQLiteOpenHelper {
private static final String SQLCreateEntries = "CREATE TABLE " + ProjectConstants.myTableName +
" (" + ProjectConstants.nameColumn + ProjectConstants.numberColumn + ")";
private static final String SQLDeleteEntries =
"DROP TABLE IF EXISTS " + ProjectConstants.myTableName;
public DBHelper(Context context) {
super(context, String.valueOf(name), null, version);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(SQLCreateEntries);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
sqLiteDatabase.execSQL(SQLDeleteEntries);
onCreate(sqLiteDatabase);
}
public void addContact(String nameLabel, String numberLabel) {
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(ProjectConstants.nameColumn, nameLabel);
contentValues.put(ProjectConstants.numberColumn, numberLabel);
sqLiteDatabase.insert(ProjectConstants.myTableName, null, contentValues);
}
}
種類の追加、カンマ。エミュレータからアプリケーションをアンインストールしました。 apkを再インストールしました。それは正常に働いた。 :) –
うれしかったよ! –