3 개의 열이있는 데이터베이스를 사용하는 응용 프로그램에서 작업하고 있습니다. 내가 실행하면열이 없습니다. 오류
Cursor notesCursor = mDbHelper.getAllEntriesCursor();
startManagingCursor(notesCursor);
String[] from = new String[]{DbAdapter.KEY_NAME, DbAdapter.KEY_WINS, DbAdapter.KEY_GAMES};
int[] to = new int[]{R.id.names, R.id.wins, R.id.games};
SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.win_games, notesCursor, from, to);
setListAdapter(notes);
, 다음과 같은 오류가 나에게 주어집니다 : 나는이 다음을 수행하여 ListView가에 데이터베이스의 데이터를 매핑하고, 지금
public static final String KEY_ID = "_id";
public static final String KEY_NAME = "name";
public static final String KEY_GAMES = "games";
public static final String KEY_WINS = "wins";
private static final String DATABASE_CREATE = "create table "
+ DATABASE_TABLE + " ("
+ KEY_ID + " integer primary key autoincrement, "
+ KEY_NAME + " text not null, "
+ KEY_GAMES + " integer, "
+ KEY_WINS + " integer);";
: 다음은 내 생성 문이다 :
java.lang.IllegalArgumentException: column 'wins' does not exist
내가 명령 줄을 통해 에뮬레이터로 쉘 데이터베이스의 스키마를 표시, 다음이 표시됩니다
CREATE TABLE namesTable (_id integer primary key autoincrement, name text not null, games integer, wins integer);
따라서 'wins'열이있는 것으로 나타나지만 여전히 오류가 발생합니다. 왜 이런 일이 일어나는 지 아십니까?
'notesCursor'를 만드는 데 사용하는 코드를 추가하십시오. 어쩌면 틀린 표를 사용했을 수도 있습니다. – ccheneson
요청에 따라 코드에 추가했습니다. – ariets
재미있는 부분은'getAllEntriesCursor()'내부에있을 것입니다 - 이것이 올바른 데이터베이스인지, 오른쪽 테이블인지, 오른쪽 컬럼인지 확인하십시오. (오타의 경우) – ccheneson