Хорошо, я здесь довольно тупой.Я получаю сообщение об ошибке, eclipse / android говорит, что мое приложение падает, потому что в таблице не существует столбца.Проблема в том, что я не использую идентификатор столбца, который он цитирует, и я не могу найти причину, почему он делает это.
В моем выражении создания БД:
private static final String CREATE_HISTORY_TABLE=
" create table if not exists " + HISTORY_TABLE +
" (id integer primary key autoincrement," +
" DebtName text, Date date, Payment real )";
Вmy onCreate:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.paymenthistory_dialog);
Bundle extras = getIntent().getExtras();
String debtname = extras.getString(DbAdapter.KEY_DEBT);
String[] from = new String[]{ DbAdapter.KEY_HISTORY_DATE, DbAdapter.KEY_HISTORY_PAYMENT};
int[] to = new int[]{R.id.PAYMENTDATE, R.id.PAYMENTDATE};
ListView paymenthistory = (ListView)findViewById(R.id.paymenthistorylist);
DatabaseHelper db = new DatabaseHelper(this);
Cursor PaymentsCursor = db.getReadableDatabase().rawQuery("SELECT * FROM tblPaymentHistory WHERE DebtName = '"+debtname+"'", null);
---> SimpleCursorAdapter HistoryAdapter = new SimpleCursorAdapter(PaymentHistory.this, R.layout.paymenthistoryrow, PaymentsCursor, from, to);
paymenthistory.setAdapter(HistoryAdapter);
}
В строке со стрелкой есть ошибка.Я открыл базу данных в браузере sqlite, и в качестве имени столбца у него есть «id», но я постоянно получаю следующую ошибку в eclipse при проверке своей активности:
11-18 00: 26: 40.775: E / AndroidRuntime (18419): вызвано: java.lang.IllegalArgumentException: столбец '_id' не существует