0
SQLite를 사용하여 버튼을 누른 횟수를 계산하는 간단한 응용 프로그램을 작성하려고합니다. 두 개의 열이있는 표가 하나뿐입니다. 나는 다음과 같이 SQLiteOpenHelper 구현이 :SQLite 예외 열이 없습니다.
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class SqliteHelperInstance extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "app_stats";
public static final String TABLE_NAME = "day_stats";
public static final String COLUMN_DATE = "date";
public static final String COLUMN_CIGCOUNT = "cigcount";
public static final int DATABASE_VERSION = 1;
private static final String CREATE_DB = "create table " + TABLE_NAME + " (" + COLUMN_DATE + " text "
+ COLUMN_CIGCOUNT + " integer);";
public SqliteHelperInstance(Context context){
super(context,DATABASE_NAME , null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(CREATE_DB);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
onCreate(db);
}
}
그래서 나는 두 개의 열이있는 테이블이 처음이 "날짜"옆에 카운터입니다. 이제 데이터베이스 관리자 클래스를 사용하여 테이블에 삽입 할 메서드를 만듭니다.
public class DbManager {
private SqliteHelperInstance sqlHelper;
private SQLiteDatabase database;
public DbManager(Context context){
sqlHelper = new SqliteHelperInstance(context);
}
public void open() throws SQLException{
database = sqlHelper.getWritableDatabase();
}
public void addEntry(String dateEntry){
DbEntry newEntry = new DbEntry();
newEntry.setDate(dateEntry);
newEntry.setCounter(0);
values.put(SqliteHelperInstance.COLUMN_DATE, dateEntry);
values.put(SqliteHelperInstance.COLUMN_CIGCOUNT, newEntry.getCigNum());
database.insert(SqliteHelperInstance.TABLE_NAME, null, values);
}
}
하지만 내 응용 프로그램을 실행할 때 열 "cigcount"가 존재하지 않는다는 오류가 발생합니다. 다음은 catlog 메시지입니다.
05-08 16:23:15.830: E/SQLiteLog(1076): (1) table day_stats has no column named cigcount
05-08 16:23:15.850: E/SQLiteDatabase(1076): Error inserting cigcount=0 date=2014-05-08
05-08 16:23:15.850: E/SQLiteDatabase(1076): android.database.sqlite.SQLiteException: table day_stats has no column named cigcount (code 1): , while compiling: INSERT INTO day_stats(cigcount,date) VALUES (?,?)
누구든지이 문제를 해결할 수 있습니까?
실수에 대해서는 맞지만 문제가 해결되지는 않았습니다! 나는 여전히 같은 오류가 발생합니다! – Salman9
또한 제거하고 다시 설치 했습니까? – laalto
내 전화를 사용하여 테스트 중이므로 점심 식사를 할 때마다 앱을 다시 설치한다고 생각하니? – Salman9