ডাটাবেজ থেকে পড়তে, query()মেথড ব্যবহার করুন, আপনার বাছাই প্রক্রিয়া এবং কাঙ্খিত কলামে এটা পাস করে। মেথডটি insert()এবং update()এর এলিমেন্টগুলা একত্রিত করে, ব্যতিক্রম শুধু কলাম লিস্ট, আপনি যে ডাটা পেতে চান তা নির্ধারণ করে, ডাটা প্রবেশ কারনোর পূর্বে। অনুসন্ধানের ফলাফল আপনার কাছে একটি Cursor অবজেক্টের মধ্যে ফিরে আসবে।
SQLiteDatabase db = mDbHelper.getReadableDatabase();
// Define a projection that specifies which columns from the database
// you will actually use after this query.
String[] projection = {
FeedEntry._ID,
FeedEntry.COLUMN_NAME_TITLE,
FeedEntry.COLUMN_NAME_UPDATED,
...
};
// How you want the results sorted in the resulting Cursor
String sortOrder =
FeedEntry.COLUMN_NAME_UPDATED + " DESC";
Cursor c = db.query(
FeedEntry.TABLE_NAME, // The table to query
projection, // The columns to return
selection, // The columns for the WHERE clause
selectionArgs, // The values for the WHERE clause
null, // don't group the rows
null, // don't filter by row groups
sortOrder // The sort order
);
কার্সরের মধ্যে একটা রো দেখতে, যে কোন একটা Cursor মুভ মেথড ব্যবহার করুন, রিডিং ভ্যালু শুরু করার পূর্বে আপনাকে অবশ্যই সবসময় যাকে কল করতে হবে। সাধারনত, moveToFirst()কল করার মাধ্যমে আপনার শুরু করা উচিত, যা "read position" কে রেজাল্টের প্রথম প্রবেশের উপর প্লেস করে। প্রতিটা রো এর জন্য, আপনি একটি কলামের ভ্যালু পড়তে পারেন যেকোন একটি Cursor গেট মেথড কল করার মাধ্যমে, যেমন, getString()বা getLong()। প্রতিটা গেট মেথডের জন্য আপনাকে অবশ্যই আপনার কাঙ্খিত কলামের ইনডেক্স পজিশন পাস করতে হবে, যা আপনি getColumnIndex()বা getColumnIndexOrThrow()কল করে পেতে পারেন। উদাহরণস্বরূপ:
cursor.moveToFirst();
long itemId = cursor.getLong(
cursor.getColumnIndexOrThrow(FeedEntry._ID)
);