title: SQLite - no such column
body: <p>I want to pre-populate a database and simply retrieve the data. It is a timetable which (for the moment) takes data and puts it into 3 columns. activity name, day &amp; location.</p>
  
  <p>I can successfully retrieve the ID number which is the PK and activity name but the application shuts down when it is faced with the column day. </p>
  
  <p>This is the logcat error I am receiving:</p>
  
  <pre><code>Caused by: android.database.sqlite.SQLiteException: no such column: day (code 1): , while compiling: SELECT _id, activity, day, location FROM TrainingTable
  </code></pre>
  
  <p>I will include my code to see if there is a glaring mistake I'm missing:</p>
  
  <pre><code>public class Training_table {
  
  //setting up rows
  public static final String KEY_ROWID = "_id";//creates a row ID variable
  public static final String KEY_ACTIVITY = "activity";
  public static final String KEY_DAY = "day";
  public static final String KEY_LOCATION = "location";
  
  //setting up database as private so only this class can ac
  private static final String DATABASE_TABLE = "TrainingTable";
  private static final int DATABASE_VERSION = 2;//db version
  
  //setup db and setup subclass and use dbHelper to setup db
  
  private DbHelper ourHelper;
  private final Context ourContext;
  private SQLiteDatabase ourDatabase;
  
  
  
  private static class DbHelper extends SQLiteOpenHelper{
  
  
      public DbHelper(Context context){
          super(context, DATABASE_NAME, null, DATABASE_VERSION);//passing info into super class
      }
  
      //exe SQL code to create a table &amp; three columns
      //only time this onCreate method is called is first time we create db
  
      /*@Override
      public void onCreate(SQLiteDatabase db) {
  
  
      @Override
      public void onCreate(SQLiteDatabase db) {
          // TODO Auto-generated method stub
          db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                  KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                  KEY_ACTIVITY + " TEXT NOT NULL, " + KEY_DAY + " TEXT NOT NULL, " +
                  KEY_LOCATION + " TEXT NOT NULL);"
          );//Execute Database and create table
  
  
      }//onCreate method
  
  
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
          db.execSQL("DROP TABLE IF EXISTS " +DATABASE_TABLE);
          onCreate(db);
  
      }
  }
  
  public  Training_table(Context c){
      ourContext = c;
  }//constructor (initialising context)
  
  
  
  //openMethod &amp; write to it
  public Training_table open(){
  
      ourHelper = new DbHelper(ourContext);
  
      ourDatabase = ourHelper.getWritableDatabase();
      return  this;
  }
  //close SQLiteOpenHelper
  public void close(){
      ourHelper.close();
  }
  public void deleteTable(){
      ourDatabase.delete(DATABASE_TABLE, null, null);
  }
  
     public long newEntry(String theActivity, String theDay, String theLocation) {
     // TODO Auto-generated method stub
     ContentValues values = new ContentValues();
     values.put(KEY_ACTIVITY, theActivity);
     values.put(KEY_DAY, theDay);
     values.put(KEY_LOCATION, theLocation);
     return ourDatabase.insert(DATABASE_TABLE, null, values);
     }
  
  
     public String getData() { //CREATING getData() method
     String[] columns = new String[] {KEY_ROWID, KEY_ACTIVITY, KEY_DAY, KEY_LOCATION}; /*Setting up column array,
                                                      holding all fields*/
     Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null); //initialising the cursor
     String result = "";
  
      /*Setting up a few int's below, to hold the column location of the activity,
      day and location within the database */
     int indexActivity = c.getColumnIndex(KEY_ACTIVITY);
     int indexDay = c.getColumnIndex(KEY_DAY);
     int indexLocation = c.getColumnIndex(KEY_LOCATION);
  
     for (c.moveToLast(); !c.isAfterLast(); c.moveToNext()){
  
         //Getting all values below
         result = c.getString(indexActivity);
         result = result + " " + c.getString(indexDay) + " " + c.getString(indexLocation);
     }
     c.close(); //Closing the cursor
     return result;
     }
  
  
  }//RaceRating class (DB Class)
  </code></pre>
  
  <p>And this is the java class calling the methods:</p>
  
  <pre><code>public class Training_table_view extends Activity {
  
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.training_table_view);
  
      TextView tv = (TextView)findViewById(R.id.tvTTinfo);//setting up reference
      //Button bv = (Button)findViewById(R.id.bViewDetails);
  
      String act = "Swimming";
      String day = "Mon";
      String loc = "bfast";
  
      Training_table info = new Training_table(this);//create training table
  
      info.open();//open Training table  class
      info.deleteTable();
  
      //info.insertRecord1();
      info.newEntry(act,day,loc);
  
      String data = info.getData();//return string from get data method
  
      info.close();
  
      tv.setText(data);//set text view to the string we got data from
  
  
  }//onCreate
  
  
  }//Training_table_view class
  </code></pre>