public class testdb extends Activity {
EditText nameEdit;
EditText amountEdit;
ImageButton insertBtn;
DBHelper dbHelper;
final static String dbName = "waterlist.db";
final static int dbVersion = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dbtest);
// TODO Auto-generated method stub
nameEdit = (EditText)findViewById(R.id.nameedit);
amountEdit = (EditText)findViewById(R.id.amountedit);
dbHelper = new DBHelper(this, dbName, null, dbVersion);
SQLiteDatabase db;
String sql;
String name = nameEdit.getText().toString();
String amount = amountEdit.getText().toString();
db = dbHelper.getWritableDatabase();
sql = String.format("INSERT INTO waterlist VALUES(NULL, '%s', '%s');", name, amount);
db.execSQL(sql);
dbHelper.close();
db.close();
}
public void mOnClick(View v){
Intent intent = new Intent(this, dbdb.class);
startActivity(intent);
}
}
class DBHelper extends SQLiteOpenHelper{
public DBHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE waterlist (_id INTEGER PRIMARY KEY AUTOINCREMENT," +
" name TEXT, amount INTEGER);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS waterlist");
onCreate(db);
}
}
이렇게 디비를 만들어서 다음 액티비티에서
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
result=new TextView(this);
setContentView(R.layout.db);
dbHelper = new DBHelper(this, dbName, null, dbVersion);
SQLiteDatabase db;
String sql;
result = (TextView)findViewById(R.id.result);
db = dbHelper.getReadableDatabase();
sql = "SELECT * FROM waterlist;";
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();
dbHelper.close();
db.close();
}
이렇게 출력을 합니다.
근데 이상한 게 저번에는 제대로 출력이 되었었는데.
제가 이것저것 고치다가 자꾸 오류가 나서 처음부터 다시 고치려고 기존에 해뒀던 소스를 긁어서 다시 에뮬에 돌렸는데요.
분명 데이터베이스 브라우저로 보아도 디비는 만들어지는 데요.
왜 빈칸이 될까요?-_-;;
그러니까 물품명: , 수량:
이렇게 밖에는 출력되지 않습니다.
뭐든 입력하면 애초에 디비에 빈칸으로 들어가지네요.(내용이 들어가질 않습니다.)
-_-;; 뭐가 문제일까요??




온클릭안에 잘 못 넣었던 거였네요^^;;;
해결했습니다!