현재 실제로 쿼리 한 데이터를 호출 할 때까지 아래 코드가 제대로 작동합니다. 또한 누군가가 WHERE 절을 사용하여 단일 ID를 쿼리하는 방법에 대한 예제를 제공 할 수 있습니다. 시도했지만 오류가 발생하기 전에 다시 꺼내려고 시도 할 수도 있습니다.데이터베이스에서 단일 행을 가져 오는 방법
모두 도움이됩니다. 최대
String questionval;
String answer1val;
String answer2val;
private final String SAMPLE_DB_NAME = "QnA";
private final String SAMPLE_TABLE_NAME = "friends";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SQLiteDatabase db;
db = this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS " +
SAMPLE_TABLE_NAME +
" (ID INT(3), Questions VARCHAR, Answer1 VARCHAR," +
" Answer2 VARCHAR, Answer3 VARCHAR," +
" Answer4 VARCHAR, CorrectAnswer INT(1), Reason VARCHAR);");
db.execSQL("INSERT INTO " +
SAMPLE_TABLE_NAME +
" Values ('1','" +
"Question?'," +
"'Answer1'," +
"'Answer2'," +
"'Answer3'," +
"'Answer4'," +
"'2'," +
"'Reason');");
Cursor c = db.rawQuery("SELECT * FROM " +
SAMPLE_TABLE_NAME , null);
questionval = c.getString(c.getColumnIndex("Question"));
answer1val = c.getString(c.getColumnIndex("Answer1"));
answer2val = c.getString(c.getColumnIndex("Answer2"));
moveToFirst를 추가했지만 오류없이 실행할 수 없습니다. 이것이 당신이 의미 한 것입니다. \t c.moveToFirst(); \t questionval = c.getString (c.getColumnIndex ("Question"))); \t answer1val = c.getString (c.getColumnIndex ("Answer1"))); \t answer2val = c.getString (c.getColumnIndex ("Answer2"))); – Somk
@Max : Eclipse에서 'adb logcat', DDMS 또는 DDMS 퍼스펙티브를 사용하여 LogCat을 검사하고 오류와 관련된 스택 추적을 확인하십시오. – CommonsWare
@CommonsWare 조언을 주셔서 감사합니다. 나는 아주 새롭지 만 이것이 내가 찾은 것 같아. 필드 슬롯 0, -1에 대한 잘못된 요청 numRows = 11, numColumns = 8 – Somk