Hallo Ich schreibe diese Anwendung, die Datenbanken verwenden muss, und ich habe in einen Haken geraten. Ich kann nicht scheinen, eine Information von der Datenbank zu erhalten. Ich habe den folgenden Code:Wie bekomme ich Daten von der SQLITE-Tabelle
Vertrag Klasse:
public class SettingsContract {
private SettingsContract() {
}
public final class SettingsEntry implements BaseColumns {
public static final String TABLE_NAME = "Settings";
public static final String COLUMN_NAME_LAST_REFRESH_DT = "LastRefreshDt";
}
}
DbHelper Klasse:
public class SettingsDbHelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "Database.db";
private static final String SQL_CREATE_ENTRIES =
"CREATE TABLE IF NOT EXISTS" + SettingsContract.SettingsEntry.TABLE_NAME + " (" +
SettingsContract.SettingsEntry._ID + " INTEGER PRIMARY KEY," +
SettingsContract.SettingsEntry.COLUMN_NAME_LAST_REFRESH_DT + " DATE,";
private static final String SQL_DELETE_ENTRIES =
"DROP TABLE IF EXISTS " + SettingsContract.SettingsEntry.TABLE_NAME;
public SettingsDbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_CREATE_ENTRIES);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(SQL_DELETE_ENTRIES);
onCreate(db);
}
@Override
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onUpgrade(db, oldVersion, newVersion);
}
}
Und wo ich diesen Code verwenden:
private SettingsDbHelper dbHelper;
public SettingsDataSource(Context context) {
this.dbHelper = new SettingsDbHelper(context);
}
public Setting getSettings() {
SQLiteDatabase db = this.dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT " +
SettingsContract.SettingsEntry.COLUMN_NAME_LAST_REFRESH_DT + " FROM "
+ SettingsContract.SettingsEntry.TABLE_NAME, null);
...
Nun, wenn ich rufe die rawQuery Dies ist, was ich in dem Protokoll habe:
04-15 12:18:14.026 2698-2698/com.busridercluj E/SQLiteLog:
(1) no such table: Settings
Was fehlt mir hier? Warum wird die Tabelle nicht so erstellt, wie sie sollte?
"CREATE TABLE IF NOT EXISTS" -> „CREATE TABLE WENN NICHT EXISTIERT "- beachten Sie die zusätzlichen Spa ce am Ende – pskink
Ihre 'CREATE TABLE' ist fehlgeschlagen ... Zeige mehr vom Logcat –