آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تغییر وضعیت یک رکورد بولین در دیتا بیس(خواهشا کمک کنید)

underomeda  12 سال پیش  12 سال پیش
+1 0

من داخل دیتا بیس یه جدول دارم و یه رکورد به اسم فلک برای هر رکورد که مقدار اولیه فلک false هست  میخوام روی دکمه وقتی کلیک شد اول چک کنه آیا وضعیت رکورد flase  یا true اگه ترو بود false  کنه و با پیغام بگه flase شد  و بلعکس .سپس مقادیر true شضده رو در یک لیست نمایش بده خواهش کمک کنید.

 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
hosseinAmini  12 سال پیش
0 0

وقتی روی دکمه کلیک میشه با SELECT مقداره رکورده مورد نظرت رو بریز تو متغیر بعد یه شرط if بزار که اگه متغیر true بود با استفاده از UPADATE برابر با false کن اگرم false بود true کن.
برای نمایش مقادیره true تو لیست هم، تو اکتیویتی مورد نظر با SELECT اونایی که true هستند رو انتخاب کن و مقادیرش رو توی آرایه بریز و تو adapter از اطلاعات استفاده کن.
اگر آموزش database رو ندیدی یه بار کامل ببینی همه اینکارا رو می تونی انجام بدی

0 0
مرسی نمونه کد داری؟ (12 سال پیش)
پاسخ به سوال 
hosseinAmini  12 سال پیش
0 0

خواهش می کنم.
این دقیقا برای لیست علاق هاست(جواب اون یکی تاپیکت هم هست)
کلاس adapter:

 imgFavorite.setOnClickListener(new OnClickListener() {

                @Override
                public boolean onLongClick(View arg0) {
                    String imageName = item.ImageName.replace("images/", "");
                    Cursor cursor = G.database.rawQuery("SELECT * FROM images WHERE image_name LIKE '" + imageName + "'", null);
                    while (cursor.moveToNext()) {
                        int imageFav = cursor.getInt(cursor.getColumnIndex("image_fav"));
                        if (imageFav == 0) {
                            G.database.execSQL("UPDATE images SET image_fav=1 WHERE image_name LIKE'" + imageName + "'");
                            imgFavorite.setImageResource(R.drawable.fav_sta_on);
                            Toast.makeText(G.context, "تصویر مورد نظر به علاقه ها اضافه شد", Toast.LENGTH_SHORT).show();
                        } else {
                            G.database.execSQL("UPDATE images SET image_fav=0 WHERE image_name LIKE '" + imageName + "'");
                            imgFavorite.setImageResource(R.drawable.fav_star_off);
                            Toast.makeText(G.context, "تصویر مورد نظر از علاقه ها حذف شد", Toast.LENGTH_SHORT).show();
                        }
                    }

                    return true;
                }
            });
            String imageName = item.ImageName.replace("images/", "");
            Cursor cursor = G.database.rawQuery("SELECT * FROM images WHERE image_name LIKE '" + imageName + "'", null);
            while (cursor.moveToNext()) {
                int imageFav = cursor.getInt(cursor.getColumnIndex("image_fav"));
                if (imageFav == 0) {
                    imgFavorite.setImageResource(R.drawable.fav_star_off);
                } else {
                    imgFavorite.setImageResource(R.drawable.fav_sta_on);
                }
            }

اینم برای اکتیویتی ای که می خوایدعلاقه ها رو توش نشون بدید

 Cursor cursor = G.database.rawQuery("SELECT * FROM images WHERE image_fav=1", null);

        while (cursor.moveToNext()) {
            image2Favorites = new StructImages();
            String image_name = cursor.getString(cursor.getColumnIndex("image_name"));
            image2Favorites.ImageName = "images/" + image_name;
            G.images2.add(image2Favorites);
        }
        adapterFavorites.notifyDataSetChanged();

        cursor.close();
0 0
ببخشید متوجه سورس نمیشم میشه سورس خودمو ببینی مشکلش چیه؟ (12 سال پیش)
0 0
چرا هربار همه رو منتخب میکنه مشکل داره کد در قسمت while هر بار حلقه اجرا میشه همه رو لایک میکنه (12 سال پیش)
0 0
چون شما با SELECT همه رکودها رو انتخاب میکنید باید با استفاده از WHERE رکورده مخصوص آیتم مورد نظر رو انتخاب کنید. تو مثال اون یکی تاپیک مشخصه منظورم. (12 سال پیش)
0 0
فدایی داری حسین جان (12 سال پیش)
پاسخ به سوال 
iSheykhi  12 سال پیش
0 0

یه سلکت می زنی که بر اساس id در دیتابیس میزان فلگ رو بگیره و بریزه توی یه مقدار بولین

بعد فلگ رو آپدیت می کنی

 Boolean blnFlag =  getFlagContent();
blgFlag = !blnFlag;

("UPDATE tblSample SET Flag=" + blgFlag + " WHERE image_name where id=" + _id)
0 0
مرسی با Shareprefrence حل شد !!!!! (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .