그림에서 빨강친 부분의 내용을 고치고 싶은데요.
name, age를 Data, Power로 고치고 싶은데요
제 생각으로는 onCreate 부분일까해서 고쳐봤습니다. 하지만 안되더라구ㅛ.
db.execSQL("CREATE TABLE person (_id INTEGER PRIMARY KEY AUTOINCREMENT," +
" name TEXT, age INTEGER);");
위 소스를 수정해봤는데 수정이 안되더라구요 ㅜ.ㅜ
어딜 고쳐야 하는지 궁금합니다.
소스는 다음과 같구요.
package com.example.last;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
EditText nameEdit;
EditText ageEdit;
TextView result;
DBHelper dbHelper;
final static String dbName = "Person.db";
final static int dbVersion = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nameEdit = (EditText)findViewById(R.id.nameedit);
ageEdit = (EditText)findViewById(R.id.ageedit);
result = (TextView)findViewById(R.id.result);
dbHelper = new DBHelper(this, dbName, null, dbVersion);
}
public void mOnClick(View v){
SQLiteDatabase db;
String sql;
switch (v.getId()) {
case R.id.insert: //추가 버튼(insert)
String name = nameEdit.getText().toString();
String age = ageEdit.getText().toString();
//String Data = result.getText().toString();
db = dbHelper.getWritableDatabase();
sql = String.format("INSERT INTO person VALUES(NULL, '%s', '%s');", name, age);
db.execSQL(sql);
result.append("\nInsert Success");
TimeZone timezone = TimeZone.getTimeZone("Etc/GMT-9");
TimeZone.setDefault(timezone);
SimpleDateFormat formater = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale.KOREA);
Date current = new Date();
String mtime = formater.format(current);
System.out.println(mtime);
result.setText(result.getText().toString() + "\n"+ mtime + " dBm");
break;
case R.id.delete: //전체삭제 버튼(delete)
db = dbHelper.getWritableDatabase();
sql = "DELETE FROM person;";
db.execSQL(sql);
result.append("\nDelete Success");
break;
case R.id.update: //전체수정 버튼(update)
db = dbHelper.getWritableDatabase();
sql = "UPDATE person SET age=0;";
db.execSQL(sql);
result.append("\nUpdate Success");
break;
case R.id.select: //조회 버튼(select)
db = dbHelper.getReadableDatabase();
sql = "SELECT * FROM person;";
Cursor cursor = db.rawQuery(sql, null);
if(cursor.getCount() > 0){
while(cursor.moveToNext()){
result.append(String.format("\n이름 = %s, 나이 = %s",
cursor.getString(1), cursor.getString(2)));
}
}else{
result.append("\n조회결과가 없습니다.");
}
cursor.close();
break;
}
dbHelper.close();
}
class DBHelper extends SQLiteOpenHelper{
//생성자 - database 파일을 생성한다.
public DBHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
//DB 처음 만들때 호출. - 테이블 생성 등의 초기 처리.
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE person (_id INTEGER PRIMARY KEY AUTOINCREMENT," +
" name TEXT, age INTEGER);");
result.append("\nperson 테이블 생성 완료.");
}
//DB 업그레이드 필요 시 호출. (version값에 따라 반응)
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS person");
onCreate(db);
}
}
}
