title: when i tried to insert a row to database ,"table timeline has no column named source" occured"
body: <p>I did have a column named source.I had no ideas where i was wrong.
  I constructed table time at onCreate method.</p>
  
  <pre><code>public class DbHelper1 extends SQLiteOpenHelper {
  static final String TAG = "DbHelper1";
  static final String DB_NAME = "timeline.db";
  static final int DB_VERSION = 1;
  static final String TABLE = "timeline";
  static final String C_ID = BaseColumns._ID;
  static final String C_CREATED_AT = "created_at";
  static final String C_SOURCE = "source";//C_SOURCE  represents source
  static final String C_TEXT = "txt";
  static final String C_USER = "user";
  Context context;
  
  public DbHelper1(Context context) {
      super(context, DB_NAME, null, DB_VERSION);
      this.context = context;
  }
  
  @Override
  public void onCreate(SQLiteDatabase db) {
      // TODO Auto-generated method stub
      StringBuffer buffer = new StringBuffer();
      buffer.append("create table " + TABLE + " (");
      buffer.append(C_ID + " int primary key ,");
      buffer.append(C_CREATED_AT + " int ,");
      buffer.append(C_USER + " text ,");
      buffer.append(C_TEXT + " text ,");
      buffer.append(C_SOURCE+" text ");//here is my column source
      buffer.append(")");
      String sql=buffer.toString();
      db.execSQL(sql);
      Log.d(TAG, "onCreate sql :"+sql);
  }
  
  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
      // TODO Auto-generated method stub
      db.execSQL("drop table if exists "+TABLE);
      Log.d(TAG, "onUpgrade");
      onCreate(db);
  }
  }
  </code></pre>
  
  <p>here is my test service:</p>
  
  <pre><code>public class UpdaterService3 extends Service {
  private static final String TAG = "UpdaterService3";
  static final int DELAY = 3000;
  private boolean runFlag = false;
  private Updater updater;
  private YambaApplication1 yamba;
  
  DbHelper1 dbHelper;
  SQLiteDatabase db;
  
  @Override
  public IBinder onBind(Intent arg0) {
      // TODO Auto-generated method stub
      return null;
  }
  
  @Override
  public void onCreate() {
      // TODO Auto-generated method stub
      super.onCreate();
      yamba = (YambaApplication1) getApplication();
      this.updater = new Updater();
      dbHelper = new DbHelper1(this);
      Log.d(TAG, "onCreate");
  }
  
  @Override
  public int onStartCommand(Intent intent, int flags, int startId) {
      // TODO Auto-generated method stub
      super.onStartCommand(intent, flags, startId);
      this.runFlag = true;
      this.updater.start();
      this.yamba.setServiceRunning(true);
      Log.d(TAG, "onStarted");
      return START_STICKY;
  }
  
  @Override
  public void onDestroy() {
      // TODO Auto-generated method stub
      super.onDestroy();
      this.runFlag = false;
      this.updater.interrupt();
      this.updater = null;
      this.yamba.setServiceRunning(false);
      Log.d(TAG, "onDestroy");
  }
  
  private class Updater extends Thread {
      public Updater() {
          super("UpdaterService-Updater");
      }
  
      @Override
      public void run() {
          // TODO Auto-generated method stub
          UpdaterService3 updaterService = UpdaterService3.this;
          while (updaterService.runFlag) {
              Status status;
              Log.d(TAG, "Updater running");
              try {
                  db=dbHelper.getWritableDatabase();
                  Log.d(TAG, "Updater ran");
                  status = new Status();
                  status.createdAt = String.valueOf(System
                          .currentTimeMillis());
                  status.id = UUID.randomUUID().toString();
                  status.source = "hello i'm " + status.id
                          + ",nice to see you";
                  status.text = "wow baby :" + status.id;
                  status.user = "user:" + status.id;
                  ContentValues values = new ContentValues();
                  values.clear();
                  values.put(DbHelper1.C_ID, status.id);
                  values.put(DbHelper1.C_CREATED_AT, status.createdAt);
                  values.put(DbHelper1.C_SOURCE, status.source);
                  values.put(DbHelper1.C_TEXT, status.text);
                  values.put(DbHelper1.C_USER, status.user);
                  db.insertOrThrow(DbHelper1.TABLE, null, values);
                  Log.d(TAG, String.format("%s:%s", status.user,status.text));
                  db.close();
                  Log.d(TAG, "Updater run");
                  Thread.sleep(DELAY);
              } catch (InterruptedException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
                  updaterService.runFlag = false;
              }
          }
      }
  }
  }
  </code></pre>
  
  <p>here is class status</p>
  
  <pre><code>public class Status {//entity bean
  String id;
  String createdAt;
  String source;
  String text;
  String user;
  }
  </code></pre>
  
  <p>I was really confused.I was a new coder for android.please help!~</p>