Saya ingin menggunakan kueri pemilihan untuk mengambil data dari tabel. Saya telah menemukan, rawQuery(query, selectionArgs)
metode SQLiteDatabase
kelas untuk mengambil data. Tapi saya tidak tahu bagaimana query
dan selectionArgs
harus diteruskan ke rawQuery
metode?
88
Jawaban:
rawQuery("SELECT id, name FROM people WHERE name = ? AND id = ?", new String[] {"David", "2"});
Anda mengirimkan larik string dengan jumlah elemen yang sama dengan "?"
sumber
rawQuery("SELECT id, name FROM people WHERE ?= ?", new String[] {"column_name", "David"});
, apakah ini validQuery?Mungkin ini bisa membantu Anda
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(); }
sumber
Salah satu contoh rawQuery -
db.rawQuery("select * from table where column = ?",new String[]{"data"});
sumber
lihat kode di bawah ini dapat membantu Anda.
String q = "SELECT * FROM customer"; Cursor mCursor = mDb.rawQuery(q, null);
atau
String q = "SELECT * FROM customer WHERE _id = " + customerDbId ; Cursor mCursor = mDb.rawQuery(q, null);
sumber
rawQuery
. Tujuannya adalah untuk menghindari string penggabungan, dll. Juga, jawaban Rawkode harus diterima.Untuk kelengkapan dan pengelolaan sumber daya yang benar:
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(); }
sumber
jika kueri SQL Anda adalah ini
SELECT id,name,roll FROM student WHERE name='Amit' AND roll='7'
maka rawQuery akan menjadi
String query="SELECT id, name, roll FROM student WHERE name = ? AND roll = ?"; String[] selectionArgs = {"Amit","7"} db.rawQuery(query, selectionArgs);
sumber
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(); }
Nama dan keluarga adalah hasil Anda
sumber