책에있는 예제를 그대로 따라하고 있습니다.
참고중인 책은 스텝 바이스텝 안드로이드 앱 개발 책이고 sQlite 활용부분보고 있습니다.
DBManger파일을 만들었구요
import android.content.Context;
import android.database.sqlite.*;
public class DBManager extends SQLiteOpenHelper{
public DBManager(Context context){
super(context, "myDB", null, 1);
System.out.println("디비생성초기화");
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
System.out.println("디비만듬??");
db.execSQL("create table my(_id integer PRIMARY KEY autoincrement,name text,season text,height text,weight text);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
저장된 데이터를 가져오는 부분입니다.
TextView tv_list=(TextView)findViewById(R.id.list);
int i=0;
try{
DBManager dbmgr = new DBManager(this);
SQLiteDatabase sdb = dbmgr.getReadableDatabase();
Cursor cursor = sdb.rawQuery("select name,season,height,weight from my", null);
System.out.println("쿼리"+sdb.rawQuery("select name,season,height,weight from my", null));
while(cursor.moveToNext()){
String name = cursor.getString(0);
String season = cursor.getString(1);
String height = cursor.getString(2);
String weight = cursor.getString(3);
tv_list.append(name+"\n");
tv_list.append(season+"\n");
tv_list.append(height+"\n");
tv_list.append(weight+"\n");
i++;
}
cursor.close();
dbmgr.close();
}catch(SQLiteException e){
tv_list.append("DB 에러입니다.");
}
if(i == 0)
tv_list.append("저장된 정보가 없습니다.\n");
save = (Button)findViewById(R.id.save);
save.setOnClickListener(this);
저장버튼을 누를때 동작입니다.
에디트텍스트에 입력된걸 받아와 저장합니다.
else if(v == save){
try{
dbmgr = new DBManager(this);
SQLiteDatabase sdb;
sdb=dbmgr.getWritableDatabase();
sdb.execSQL("insert into my values("
+et_name.getText().toString()+","
+et_height.getText().toString()+","
+str_season+","
+et_weight.getText().toString()+");");
dbmgr.close();
}catch(SQLiteException e){
}
}
그런데 막상 해보면
로그캣에
08-18 00:19:21.397: E/SQLiteLog(9401): (1) no such column: 대한민국
이렇게 뜹니다.
칼럼이 없다는데 그럼 디비가 안 만들어진거 같지는 않고 쿼리가 이상한건가 해서 쿼리 찍어보려는데 쿼리는 어떻게 찍어볼 수 있나요?
이 문제는 디비가 안 만들어진건가요?
디비 처음해보는데 어렵네요..ㅠㅠ