私はアンドロイドアプリをプログラミングしています。
これは私の BDHelper クラスです:
public class BD_Helper extends SQLiteOpenHelper{
private static final String BD_NOMBRE = "BD_PAED.db";
private static final int BD_VERSION = 1;
private static final String TABLA_AUDIT_NOMBRE = "audit";
private static final String TABLA_CONTROLES_NOMBRE = "controles";
private static final String crearAudit =
"CREATE TABLE " + TABLA_AUDIT_NOMBRE + " (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"usuario TEXT, " +
"clave TEXT, " +
"userid INTEGER, " +
"pin TEXT, " +
"tema TEXT, " +
"colorFondo TEXT, " +
"color TEXT, " +
"colorFuente TEXT)";
private static final String crearControles =
"CREATE TABLE " + TABLA_CONTROLES_NOMBRE + " (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"entryTypeId TEXT, " +
"statusTypeId TEXT, " +
"momentTypeId TEXT, " +
"activityTypeId TEXT, " +
"activityDuration TEXT, " +
"activityTypeOthers TEXT, " +
"intensityTypeId TEXT, " +
"measurementTime TEXT, " +
"glucosePre TEXT, " +
"CHRations TEXT, " +
"rapidInsulin TEXT, " +
"slowInsulin TEXT, " +
"glucosePost TEXT);";
public BD_Helper(Context context){
super(context, BD_NOMBRE, null, BD_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(crearAudit);
db.execSQL(crearControles);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists "+ TABLA_AUDIT_NOMBRE);
db.execSQL("drop table if exists "+ TABLA_CONTROLES_NOMBRE);
onCreate(db);
}
}
他のクラスでは、simplecursadapter を使用してコントロール データベースの情報を表示しようとしています。
private void cargaDatos(){
String[] from;
cursor = bdHelper.obtenerControles(entryTypeId);
startManagingCursor(cursor);
from = new String[] {BD_ControlesAdapter.CAMPO_MEASUREMENTTIME,BD_ControlesAdapter.CAMPO_ACTIVITYTYPEID};
int[] to = new int[]{R.id.fila_fecha,R.id.fila_tipo};
SimpleCursorAdapter controles = new SimpleCursorAdapter(this,R.layout.fila_controles,cursor,from,to,0);
setListAdapter(controles);
}
しかし、これはうまくいきませんnew SimpleCursorAdapter
。
IllegalArgumentException: column '_id' does not exist.
sqlite データベースを確認すると、この列はこのデータベースに完全に作成されています。
何か案が?