বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

ডাটাবেজ থেকে তথ্য পাঠ করা

ডাটাবেজ থেকে পড়তে, 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)
);