অ্যান্ড্রয়েড এবং এসকিউএলাইট ব্যবহার করে ডাটাবেস থেকে বুলিয়ান পান


169

আমি কীভাবে একটি বুলিয়ান ক্ষেত্রের মান পেতে পারি অ্যান্ড্রয়েডের এসকিউএলাইট ডাটাবেসে ?

আমি সাধারণত ব্যবহার getString(), getInt()ইত্যাদি আমার ক্ষেত্র মান পেতে, কিন্তু একটি হবে বলে মনে হচ্ছে না getBoolean()পদ্ধতি।

উত্তর:




23
boolean value = (cursor.getInt(boolean_column_index) == 1);

যদিও এই প্রশ্নের সাথে ঠিক মিল নেই (অ্যালেক্স এর নিকটতম), এটি একটি দুর্দান্ত উত্তর, এবং আমি এটি ব্যবহার করব।
বুদিমির গ্রম

10

এখানে বেশিরভাগ উত্তরগুলির ফলাফল সংখ্যার ফর্ম্যাটেক্সেক্সেসস বা "অপারেটর নাল, ইনট" টাইপগুলির জন্য অপরিজ্ঞাপিত হতে পারে যদি আপনি কলামটি ইনট সঞ্চিত রাখতেন তবে নালাকে ধরে রাখার অনুমতি দেওয়া হয়েছিল। এটি করার জন্য শালীন উপায়টি ব্যবহার করা হবে

Boolean.parseBoolean(cursor.getString(booleanColumnIndex));`

যদিও আপনি এখন 0 বা 1 এর পরিবর্তে "সত্য" এবং "মিথ্যা" স্ট্রিংগুলি সঞ্চিত করতে সীমাবদ্ধ।


5
এটা কাজ করে না. বুলিয়ান। পার্সবুলিয়ান "সত্য" বা "মিথ্যা" স্ট্রিং নেয়। আপনি যদি আপনার বুলিয়ান 0 বা 1 হিসাবে সঞ্চয় করে থাকেন তবে আপনি সর্বদা মিথ্যা হয়ে যাবেন।
Gober

গোবার যা বলে তা যদি সত্য হয় তবে এই উত্তরটি হ্রাস পাওয়ার যোগ্য
শেরভিন আসগরী

আহ, তিনি ঠিক বলেছেন। আমি মনে করি ফলাফলের স্পষ্টতা স্ট্রিংগুলি সঞ্চয় করে ছাড়িয়ে গেছে।
Sojurn

1
অন্য উত্তরটিতে শেরভিন এসগারি আপনি নিজের বুলিয়ানটিকে সত্য বা মিথ্যা হিসাবে সঞ্চয় করলে এটি সর্বদা মিথ্যা হয়ে যাবে। সুতরাং এটি আপনার যুক্তি দিয়েও হ্রাস করা উচিত।
আর্দা কারা




3

boolean ডেটাটাইপ পাওয়া যায় না Cursor

আপনি ফলাফলটি একটিতে পাবেন int, সুতরাং আপনাকে সেই intমানটি একটিতে রূপান্তর করতে হবে boolean

আপনি হয় ব্যবহার করতে পারেন

boolean b = cursor.getInt(boolean_column_index) > 0;

অথবা

boolean b = (cursor.getInt(boolean_column_index) != 0);

2

বুলিয়ান বি = (কার্সার.জেটইন্ট (কার্সার.জেটকালাম ইন্ডেক্স ("আইটেম"))! = 0);


0

ভাল, এটি খুব সহজ:

public boolean getBooleanState(SQLiteDatabase db){
    boolean result = false;
    try{
        String QUERY = "SELECT " + BOOLEAN_DATA + " FROM " + TABLE_NAME + " WHERE " + ID + " = 1";
        Cursor cursor = db.rawQuery(QUERY, null);
        if (cursor.moveToFirst()){
            if(cursor.getString(0).equalsIgnoreCase("1")){
                result = true;
            }
        }
        c.close();
    }catch(Exception ee){
        Log.e(TAG, "err getBooleanState: " + TABLE_NAME );
    }
    return result;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.