Лучший и рекомендуемый подход с использованием SQLite состоит в том, что вы объявляете все имена таблиц и имен столбцов static
, final
и class
level .. например:
// write table name
public static final String TABLE_MESSAGE = "messages";
// and column name accordingly
public static final String COLUMN_ID = "_id";
public static final String COLUMN_MESSAGE = "message";
, поэтому выгодаПри таком подходе вам не нужно запоминать написание и регистр и т. д. имен таблиц и столбцов.
при доступе к любой таблице или столбцу вы просто используете эти статические переменные, например:
// TABLE creation sql statement
private static final String TABLE_CREATE = "create table "
+ TABLE_MESSAGE + "( " + COLUMN_ID
+ " integer primary key autoincrement, " + COLUMN_MESSAGE
+ " text not null);";
при запросе:
database.query(TABLE_MESSAGE, new String[]{COLUMN_ID,COLUMN_MESSAGE}, null, null, null, null, null);
или его можно использовать в курсоре
int index = cursor.getColumnIndex(COLUMN_MESSAGE);
, это поможет вам избежать таких конфликтов чувствительности к регистру и орфографических ошибок.:)