안녕하세요, 데이터베이스를 사용해야하는이 응용 프로그램을 작성하고 있습니다. 데이터베이스에서 정보를 얻지 못하는 것 같습니다.sqllite 테이블에서 데이터를 가져 오는 방법
계약 클래스 :
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 클래스 :
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);
}
}
그리고 나는이 코드를 사용 여기서 이제
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);
...
을 나는 rawQuery 전화 나는 다음과 같은 코드가 있습니다 이것은 로그에있는 것입니다 :
04-15 12:18:14.026 2698-2698/com.busridercluj E/SQLiteLog:
(1) no such table: Settings
무엇이 여기에 있습니까? 왜 테이블을 만들어야하지 않습니까?
는"표를 작성하지가 존재하는 경우 " 존재하지 않는 경우 "- 추가 스파에주의하십시오. 끝 부분의 ce – pskink
당신의'CREATE TABLE' 실패 ... 더 많은 logcat 보여주기 –