Date 컬럼이 왜 생성이 안되는지 모르겠습니다.
06-10 07:15:17.222: E/AndroidRuntime(2541): FATAL EXCEPTION: main
06-10 07:15:17.222: E/AndroidRuntime(2541): java.lang.IllegalStateException: Could not execute method of the activity
06-10 07:15:17.222: E/AndroidRuntime(2541): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-10 07:15:17.222: E/AndroidRuntime(2541): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-10 07:15:17.222: E/AndroidRuntime(2541): at dalvik.system.NativeStart.main(Native Method)
06-10 07:15:17.222: E/AndroidRuntime(2541): Caused by: java.lang.reflect.InvocationTargetException
06-10 07:15:17.222: E/AndroidRuntime(2541): at java.lang.reflect.Method.invokeNative(Native Method)
06-10 07:15:17.222: E/AndroidRuntime(2541): at java.lang.reflect.Method.invoke(Method.java:511)
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.view.View$1.onClick(View.java:3039)
06-10 07:15:17.222: E/AndroidRuntime(2541): ... 11 more
06-10 07:15:17.222: E/AndroidRuntime(2541): Caused by: android.database.sqlite.SQLiteException: table ksj has no column named Date: , while compiling: INSERT INTO ksj(Date, Address) VALUES('13.06.10 16:15:13', 'Where are you, now?');
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:68)
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:143)
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:361)
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:260)
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:84)
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1899)
06-10 07:15:17.222: E/AndroidRuntime(2541): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1839)
06-10 07:15:17.222: E/AndroidRuntime(2541): at com.example.gps0610.MainActivity.mOnClick(MainActivity.java:194)
06-10 07:15:17.222: E/AndroidRuntime(2541): ... 14 more
public void mOnClick(View v) {
SQLiteDatabase db;
String sql;
switch(v.getId()) {
case R.id.gps :
Log.d("location", "button pressed");
TimeZone timezone = TimeZone.getTimeZone("Etc/GMT-9");
TimeZone.setDefault(timezone);
SimpleDateFormat formater = new SimpleDateFormat("yy.MM.dd HH:mm:ss", Locale.KOREA);
Date current = new Date();
String mtime = formater.format(current);
System.out.println(mtime);
getTime = (TextView)findViewById(R.id.getTime);
getTime.setText(mtime);
//gps source
getLocation();
break;
case R.id.save :
String Date = getTime.getText().toString();
String Address = juso.getText().toString();
dbHelper = new DBHelper(this, dbName, null, dbVersion);
db = dbHelper.getWritableDatabase();
sql = String.format("INSERT INTO ksj(Date, Address) VALUES('%s', '%s');", Date, Address);
Log.d("tag", sql);
db.execSQL(sql);
Toast.makeText(this, "저장되었습니다.", Toast.LENGTH_SHORT).show();
break;
case R.id.data :
setContentView(R.layout.activity2nd);
ArrayList<String> item = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice, item);
ListView list = (ListView)findViewById(R.id.list);
list.setAdapter(adapter);
adapter.notifyDataSetChanged();
Log.d("DATA", "Search data");
db = dbHelper.getReadableDatabase();
sql = "SELECT*FROM ksj;";
Cursor cursor = db.rawQuery(sql, null);
if(cursor.getCount() > 0) {
while(cursor.moveToNext()){
String time1 = cursor.getString(1);
Log.d("tag", "cursor.getString1 = "+time1);
String juso1 = cursor.getString(2);
Log.d("tag", "cursor.getString2 =" +juso1);
item.add(time1+juso1);
adapter.notifyDataSetChanged();
}
cursor.close();
}
dbHelper.close();
break;
case R.id.back :
setContentView(R.layout.activity_main);
break;
}
}
}
package com.example.gps0610;
public class DBHelper extends SQLiteOpenHelper {
//생성자
public DBHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
//최초 DB를 만들때 한번만 호출된다.
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE ksj(_id INTEGER PRIMARY KEY AUTOINCREMENT,"+ "Date String not null, Address String not null);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS ksj");
onCreate(db);
}
}