gridview를 사용해서 달력을 만들고 거기에서 스케쥴 관리 하는 것을 만들고 있습니다. 그런데 DB가 문제 인지 다음 intent가 적용이 안되고 에러가 뜨면서 앱이 강제 종료 됩니다. DB쪽과 연동 되는 것을 주석 처리 하니깐 intent 적용한 activity가 잘 수행 되는데요

소스에는 에러가 안 뜨는데 뭐가 문제 인지를 모르겠습니다. CalendarActivity에서 TodayActivity로 intent하는 것입니다.

 

 public class CalendarActivity extends Activity implements OnClickListener,OnItemClickListener {        ArrayList<String> mItems;        ArrayAdapter<String> adapter;       TextView textYear;       TextView textMon;
       TextView dayYearMon;
 /** Called when the activity is first created. */ @Override
        public void onCreate(Bundle savedInstanceState) {                 super.onCreate(savedInstanceState);                setContentView(R.layout.calendar);                dayYearMon = (TextView) findViewById(R.id.day_title);  //요번 달 포시해줌
                 textYear = (TextView) this.findViewById(R.id.edit1); //찾으려는 년도
                 textMon = (TextView) this.findViewById(R.id.edit2);  //찾으려는 월                  mItems = new ArrayList<String>();
                 adapter = new ArrayAdapter<String>(this,
                   android.R.layout.simple_list_item_1, mItems);  
                 GridView gird = (GridView) this.findViewById(R.id.grid1);  //달력을 나타내 주는 gridview                  gird.setAdapter(adapter);                gird.setOnItemClickListener(this);                  Date date = new Date();// 오늘에 날짜를 세팅 해준다.
                 int year = date.getYear() + 1900;
                 int mon = date.getMonth() + 1;                  dayYearMon.setText(year + "년" + mon + "월");   //삳단에 해당 년도와 월을 나타내줌
               textYear.setText(year + "");
                 textMon.setText(mon + "");                fillDate(year, mon);                 Button btnmove = (Button) this.findViewById(R.id.bt1);  //찾기 버튼
                 btnmove.setOnClickListener(this);               }              public void onClick(View arg0) {                      if (arg0.getId() == R.id.bt1) {  //원하는 년도와 월을 입력후 찾기 버튼을 누른 후 생기는 이벤트                      int year = Integer.parseInt(textYear.getText().toString());
                     int mon = Integer.parseInt(textMon.getText().toString());
                  fillDate(year, mon);                   }            }           private void fillDate(int year, int mon) {  //달력                     mItems.clear();                    mItems.add("일");
                    mItems.add("월");
                    mItems.add("화");
                     mItems.add("수");
                   mItems.add("목");
                   mItems.add("금");
                  mItems.add("토");                   Date current = new Date(year - 1900, mon - 1, 1);                   int day = current.getDay(); // 요일도 int로 저장.                   for (int i = 0; i < day; i++) {                          mItems.add("");                   }                 current.setDate(32);// 32일까지 입력하면 1일로 바꿔준다.                    int last = 32 - current.getDate();
                   for (int i = 1; i <= last; i++) {
                  mItems.add(i + "");                    }                  adapter.notifyDataSetChanged();            }           public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {                     // TODO Auto-generated method stub                   if (mItems.get(arg2).equals("")) {                                   ;                   } else {                                Intent intent = new Intent(this, TodayActivity.class);// 해당 일을 눌렸을때 intent 발생
                              intent.putExtra("Param1", textYear.getText().toString() + "/"  
                                                            + textMon.getText().toString() + "/" + mItems.get(arg2));
                              startActivity(intent);                    }          }
}
 public class TodayActivity extends Activity implements OnItemClickListener,
 OnClickListener { // 오늘의 일정 목록 띄우기
            DateDB mDBHelper;
            String today;
            Cursor cursor;
            SimpleCursorAdapter adapter; //data를 today.xml 파일에 지정된 ListView형태로 표시
              ListView list;                          @Override
             public void onCreate(Bundle savedInstanceState) {                   //today.xml 
                   super.onCreate(savedInstanceState);
                   setContentView(R.layout.today);                    Intent intent = getIntent();
                   today = intent.getStringExtra("Param1");                    //달력에서 선택한 날자를 표시
                  TextView text = (TextView) findViewById(R.id.texttoday);
                    text.setText(today);                    mDBHelper = new DateDB(this, "Today.db", null, 1);
                    SQLiteDatabase db;                    db = mDBHelper.getWritableDatabase();
                     cursor = db.rawQuery(
                               "SELECT * FROM today WHERE date = '" + today + "'", null);                     //ScheduleActivity에서 작성된 title, satrtTime을 전화면에 띄워 주기 위한 내용 
                     adapter = new SimpleCursorAdapter(this,
                                android.R.layout.simple_list_item_2, cursor, new String[] {
                                       "title", "startTime" }, new int[] { android.R.id.text1,
                                        android.R.id.text2 });
                  //ListView 형식으로 위에 있는 adapter 내용을 화면에 띄워줌
                   ListView list = (ListView) findViewById(R.id.list1);
                    list.setAdapter(adapter);
                     list.setOnItemClickListener(this);                      mDBHelper.close();                      Button btn = (Button) findViewById(R.id.btnadd);
                      btn.setOnClickListener(this);                      } //list 목록에 있는 것을 눌렀을 때 생기는 액션
 public void onItemClick(AdapterView<?> parent, View view, int position,
 long id) { // TODO Auto-generated method stub  Intent intent = new Intent(this, ScheduleActivity.class);
 cursor.moveToPosition(position);
 intent.putExtra("ParamID", cursor.getInt(0));
 startActivityForResult(intent, 0); } // '+'를 눌렀을 때 생기는 액션
 public void onClick(View v) {  // TODO Auto-generated method stub Intent intent = new Intent(this, ScheduleActivity.class);
 intent.putExtra("ParamDate", today);
 startActivityForResult(intent, 1); } @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {  // TODO Auto-generated method stub  switch (requestCode) {
 case 0:
 case 1: if (resultCode == RESULT_OK) {  SQLiteDatabase db = mDBHelper.getWritableDatabase();
 cursor = db.rawQuery("SELECT * FROM today WHERE date = '"
 + today + "'", null); adapter.changeCursor(cursor); mDBHelper.close(); } break; } }}
public class DateDB extends SQLiteOpenHelper { // 데이터베이스 클래스  private static final String DATABASE_NAME = "Today.db"; // DB 이름
 private static final String DATABASE_TABLE = "today"; // DB 테이블 이름
 private static final int DATABASE_VERSION = 1; // DB 버전  public static final String KEY_TITLE = "title";
 public static final String KEY_POINT = "point";
 public static final String KEY_DATE = "date";
 public static final String KEY_START_TIME = "startTime";
 public static final String KEY_END_TIME = "endTime";
 public static final String KEY_MEMO = "memo";
 public static final String KEY_MESSAGE = "message";  public static final String KEY_ROWID = "_id";  public static final int FIND_BY_TITLE = 1;
 public static final int FIND_BY_POINT = 2;
 public static final int FIND_BY_DATE = 3;
 public static final int FIND_BY_START_TIME = 4;
 public static final int FIND_BY_END_TIME = 5;
 public static final int FIND_BY_MEMO = 6;
 public static final int FIND_BY_MESSAGE = 7;  DateDB mDbHelper;
  private static final String TAG = "DateDB";
 private SQLiteDatabase db; // 데이터 베이스 인스턴스, insert(),update(), query(),
        // delete()등 메소드 호출  private static final String DATABASE_CREATE = "CREATE TABLE today(_id INTEGER PRIMARY KEY AUTOINCREMENT, "
   + "title TEXT, "
   + "point TEXT, "
   + "date TEXT, "
   + "startTime TEXT, "
   + "endTime TEXT, "
   + "memo TEXT, "
   + "message TEXT);";  // private final Context mCtx;  public DateDB(Context context, String name, CursorFactory factory,
   int version) {   super(context, DATABASE_NAME, factory, DATABASE_VERSION);
  // this.mCtx = context;   // TODO Auto-generated constructor stub  }  @Override
 public void onCreate(SQLiteDatabase db) {   // TODO Auto-generated method stub   db.execSQL(DATABASE_CREATE);  }  @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {   // TODO Auto-generated method stub
  Log.w(TAG, "Upgrading db from version" + oldVersion + " to"
    + newVersion + ", which will destroy all old today");
  db.execSQL("DROP TABLE IF EXISTS today");
  onCreate(db);  }  public void open() throws SQLException {   db = mDbHelper.getWritableDatabase();  }  @Override
 public void close() {
  db.close();
 }  public long createBook(String title, String point, String date,
   String startTime, String endTime, String memo, String message) { // 레코드
                    // 생성   ContentValues initialValues = new ContentValues();
  initialValues.put(KEY_TITLE, title);
  initialValues.put(KEY_POINT, point);
  initialValues.put(KEY_DATE, date);
  initialValues.put(KEY_START_TIME, startTime);
  initialValues.put(KEY_END_TIME, endTime);
  initialValues.put(KEY_MEMO, memo);
  initialValues.put(KEY_MESSAGE, message);   return db.insert(DATABASE_TABLE, null, initialValues);  }  public boolean deleteBook(long rowID) { // 레코드 삭제   return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowID, null) > 0;  }  public Cursor fetchAllBooks() { // 모든 레코드 반환   return db.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_TITLE,
    KEY_POINT, KEY_DATE, KEY_START_TIME, KEY_END_TIME, KEY_MEMO,
    KEY_MESSAGE }, null, null, null, null, null);  }  public Cursor fetchBook(long rowID) throws SQLException { // 특정 레코드 반환   Cursor mCursor =   db.query(true, DATABASE_TABLE,
    new String[] { KEY_TITLE, KEY_POINT, KEY_DATE, KEY_START_TIME,
      KEY_END_TIME, KEY_MEMO, KEY_MESSAGE }, KEY_ROWID + "="
      + rowID, null, null, null, null, null);   if (mCursor != null)    mCursor.moveToFirst();   return mCursor;  }  public boolean updateBook(long rowID, String title, String point,
   String date, String startTime, String endTime, String memo,
   String message) { // 레코드 수정   ContentValues args = new ContentValues();   args.put(KEY_TITLE, title);
  args.put(KEY_POINT, point);
  args.put(KEY_DATE, date);
  args.put(KEY_START_TIME, startTime);
  args.put(KEY_END_TIME, endTime);
  args.put(KEY_MEMO, memo);
  args.put(KEY_MESSAGE, message);   return db.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowID, null) > 0;  } } 
  

 


 

10-27 11:17:08.123: I/SqliteDatabaseCpp(1221): sqlite returned: error code = 1, msg = no such column: date, db=/data/data/com.android.calednar/databases/Today.db
10-27 11:17:08.123: D/AndroidRuntime(1221): Shutting down VM
10-27 11:17:08.133: W/dalvikvm(1221): threadid=1: thread exiting with uncaught exception (group=0xb4020180)
10-27 11:17:08.143: E/AndroidRuntime(1221): FATAL EXCEPTION: main
10-27 11:17:08.143: E/AndroidRuntime(1221): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.calednar/com.android.calednar.TodayActivity}: android.database.sqlite.SQLiteException: no such column: date: , while compiling: SELECT * FROM today WHERE date = '2012/10/19'
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.os.Looper.loop(Looper.java:137)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.app.ActivityThread.main(ActivityThread.java:4424)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at java.lang.reflect.Method.invokeNative(Native Method)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at java.lang.reflect.Method.invoke(Method.java:511)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at dalvik.system.NativeStart.main(Native Method)
10-27 11:17:08.143: E/AndroidRuntime(1221): Caused by: android.database.sqlite.SQLiteException: no such column: date: , while compiling: SELECT * FROM today WHERE date = '2012/10/19'
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:68)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:143)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:361)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:127)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:94)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:53)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:47)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1564)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1538)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at com.android.calednar.TodayActivity.onCreate(TodayActivity.java:51)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.app.Activity.performCreate(Activity.java:4465)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
10-27 11:17:08.143: E/AndroidRuntime(1221):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
10-27 11:17:08.143: E/AndroidRuntime(1221):  ... 11 more