두 개의 버튼 중 하나는 데이터를 DB에 추가하고 다른 하나는 모든 데이터를 가져옵니다. Table은 테이블 (Table.TABLE_NAME == "table")에 대한 정보가 들어있는 클래스입니다. 그러나 커서는 항상 비어 있습니다. 나는이 db.query (Table.TABLE_NAME, null, null, null, null, null, null)를 시도했지만 작동하지도 않았다.커서가 비어 있습니다.
public void onClick(View v) {
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = null;
switch (v.getId()){
case R.id.btnAdd:
ContentValues contentValues = new ContentValues();
contentValues.put("Name",etName.getText().toString());
contentValues.put("Surname",etSurname.getText().toString());
contentValues.put("Age",etAge.getText().toString());
contentValues.put("City",etCity.getText().toString());
db.insert(Table.TABLE_NAME,null,contentValues);
Log.d(TAG,etName.getText().toString() +" " + etSurname.getText().toString() +" " + etAge.getText().toString()+" " + etCity.getText().toString());
break;
case R.id.btnSearch:
cursor = db.rawQuery("select * from "+Table.TABLE_NAME,null);
break;
}
if (cursor != null) {
if(cursor.moveToFirst()) {
String str;
do {
str = "";
for (String cn : cursor.getColumnNames()) {
str = str.concat(cn + " = " + cursor.getString(cursor.getColumnIndex(cn)) + "; ");
}
} while (cursor.moveToNext());
}
cursor.close();
}else {
Log.d(TAG,"null");
}
db.close();
}
물론 앱이 라인'의 경우 R.id.btnSearch'에 도달? 테이블에 뭔가있어? 테이블 정의는 어떻게 생겼습니까? – Trinimon