Problem with Android for Beginners SQLite Example

No matter what I do, the example code does not seem to add the column "productname" to the database. At least, that's the error I'm getting when I tried to insert a new row and assign a value to it.

Here is the code I'm using. Any help would be much, much appreciated.

package com.carlmuellerjr.sqlexample;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class MyDBHandler extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 5;
private static final String DATABASE_NAME = "products.db";
private static final String TABLE_PRODUCTS = "products";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_PRODUCTNAME = "productname";

public MyDBHandler(Context context, SQLiteDatabase.CursorFactory factory) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
String query = "CREATE TABLE " + TABLE_PRODUCTS + "(" +
COLUMN_ID + " INTEGER KEY AUTO INCREMENT " +
COLUMN_PRODUCTNAME + " TEXT);";
Log.i("", "query = " + query);
db.execSQL(query);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_PRODUCTS);
onCreate(db);
}

public void addProduct(Product product) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
Log.i("", "productname = " + product.get_productname());
values.put(COLUMN_PRODUCTNAME, product.get_productname());
db.insert(TABLE_PRODUCTS, null, values);
db.close();
}

public void deleteProduct(String productname) {
SQLiteDatabase db = getWritableDatabase();
db.execSQL("DELETE FROM " + TABLE_PRODUCTS + " WHERE " +
COLUMN_PRODUCTNAME + "=\"" + productname + "\";");
}

public String databaseToString() {

Log.i("", "getWritableDatabase");
SQLiteDatabase db = getWritableDatabase();
Log.i( "", "rawQuery");
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_PRODUCTS + " WHERE 1", null);
Log.i( "", "moveToFirst");
cursor.moveToFirst();
Log.i("", "getCount = " + cursor.getCount());
Log.i("", "getColumnCount = " + cursor.getColumnCount());

String results = "";
while (!cursor.isAfterLast()) {
String column = cursor.getString(cursor.getColumnIndex(COLUMN_PRODUCTNAME));
Log.i("", "getColumnIndex = " + column);
results += column == null ? "" : column + "\n";
cursor.moveToNext();
}
db.close();

return results;
}
}