[android] rawQuery (query, selectionArgs)

테이블에서 데이터를 검색하기 위해 선택 쿼리를 사용하고 싶습니다. 나는 데이터를 검색 rawQuery(query, selectionArgs)하는 SQLiteDatabase클래스 방법을 찾았습니다 . 하지만 메서드에 queryselectionArgs이 어떻게 전달되어야 하는지 모르겠습니다 rawQuery.



답변

rawQuery("SELECT id, name FROM people WHERE name = ? AND id = ?", new String[] {"David", "2"});

“?”가있는 것과 동일한 수의 요소가있는 string 형 배열을 전달합니다.


답변

아마도 이것은 당신을 도울 수 있습니다

Cursor c = db.rawQuery("query",null);
int id[] = new int[c.getCount()];
int i = 0;
if (c.getCount() > 0)
{
    c.moveToFirst();
    do {
        id[i] = c.getInt(c.getColumnIndex("field_name"));
        i++;
    } while (c.moveToNext());
    c.close();
}


답변

rawQuery의 한 예- db.rawQuery("select * from table where column = ?",new String[]{"data"});


답변

아래 코드를 참조하십시오.

String q = "SELECT * FROM customer";
Cursor mCursor = mDb.rawQuery(q, null);

또는

String q = "SELECT * FROM customer WHERE _id = " + customerDbId  ;
Cursor mCursor = mDb.rawQuery(q, null);


답변

완전성과 올바른 자원 관리를 위해 :

        ICursor cursor = null;
        try
        {

            cursor = db.RawQuery("SELECT * FROM " + RECORDS_TABLE + " WHERE " + RECORD_ID + "=?", new String[] { id + "" });

            if (cursor.Count > 0)
            {
                cursor.MoveToFirst();
            }
            return GetRecordFromCursor(cursor); // Copy cursor props to custom obj
        }
        finally // IMPORTANT !!! Ensure cursor is not left hanging around ...
        {
            if(cursor != null)
                cursor.Close();
        }


답변

SQL 쿼리가 이것이라면

SELECT id,name,roll FROM student WHERE name='Amit' AND roll='7'

그러면 rawQuery는

String query="SELECT id, name, roll FROM student WHERE name = ? AND roll = ?";
String[] selectionArgs = {"Amit","7"}
db.rawQuery(query, selectionArgs);


답변

String mQuery = "SELECT Name,Family From tblName";
Cursor mCur = db.rawQuery(mQuery, new String[]{});
mCur.moveToFirst();
while ( !mCur.isAfterLast()) {
        String name= mCur.getString(mCur.getColumnIndex("Name"));
        String family= mCur.getString(mCur.getColumnIndex("Family"));
        mCur.moveToNext();
}

이름과 가족이 당신의 결과입니다