بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

راهنمایی در حل پروژه (حل نشده)

مدیریت گفتگو
شهریار توکلی 11 سال پیش
آخرین تغییر: 10 سال پیش

با سلام به همه. همین طوری که تو تصویر مشاهده میکنین یک RatingBar دارم هنگامی که کاربر روی دکمه ی Send کلیک میکنه باید Rate که انتخاب کرده به همراه عدد 1 که یعنی رای داده به دیتابیس ارسال بشه و در نهایت طی عملیاتی تعداد نفرات رای دهنده و ریت میانگین رو روی ریتینگ بار نمایش بده. من این کارو انجام دادم یعنی یک بار ارسال کردم مثلا rate =3 و عدد 1 رو ارسال کردم برای بار دوم که ارسال میکنم rate=3 و عدد 1 ریت با رقم قبلیش جمع میشه و در دیتابیس قرار میگیره ولی برای تعداد نفرات همون عدد1  دوباره آپدیت میشه. این مشکل رو چی جوری حل کنم؟

نظرات

پاسخ‌ها 3

system32 11 سال پیش

با سلام 

اگر هر رای رو جداگانه ثبت می کنید که نبایستی مشکلی باشه با تقسیم مجموع آرا بر تعداد ارا بایستی انجام بشه . ولی اگر با به روز رسانی این کار رو انجام میدید بایستی هر بار آخرین تعداد رای دهندگان رو بگیرید و یک واحد به اون اضافه کنید و دوباره به روز رسانی کنید .

یکی از مشکلات کار با دیتابیس این هست که فرآیندهای عملیاتی در دیتابیس انجام بشوند یا در برنامه . 

پیشنهاد من هم این هست که کار خودتون رو با یک فیلد انجام بدید که میزان رای (برای مثال 1 تا 5)  رو ذخیره میکنه و به جای جمع کردن و به روز رسانی از insert استفاده کنید . برای نمایش میانگین Rate کافیه که با دو دستور sum و count از دیتابیس این فیلد رو بخونید و نتیجه رو بر هم تقسیم کنید . 

امیدوارم متوجه منظورم شده باشید . به امید موفقیت 

نظرات

شهریار توکلی 11 سال پیش
دوست عزیز از راهنماییت ممنون.ولی بخش دوم رو متوجه نشدم.برای اینکه insert کنم به جای update باید یک جدول جدا درست کنم ؟ چون با هر بار insert مقدار قبلی با مقدار جدید جایگزین میشه ؟ و روش update چه مشکلی داره ؟
system32 11 سال پیش
سلام . با Insert اطلاعات به صورت رکوردهای جداگانه ثبت می شوند ، نه اینکه با مقدار قبلی جایگزین شوند . از مزایای این گونه ثبت اینکه بعدا می توانید ببینید هر نفر چه امتیازی داده است (در صورتی که اطلاعات مشخص دیگری مثل IEME گوشی را ثبت کنید) و یا ببینید چه تعداد از رای دهندگان 1 امتیاز ، 2 امتیاز و ... داده اند. این موارد می تواند در کارهای دیگری مثل تحلیل برنامه به کار آید. در صورتی که قصد دارید با آپدیت کار کنید بایستی تعداد افراد رای داده قبلی را از جدول بخوانید و با 1 جمع کنید و دوباره فیلد را Update کنید .
شهریار توکلی 11 سال پیش

دوستان عزیز من پروژه ای که در زیز عکس هاشو قرار میدم درست کردم ولی هنگام آپدیت مشکل دارم . اولین مشکل که روی Send کلیک میکنم برنامه force close میده . دومین مشکلی که دارم تعداد رای دهنده ها رو جمع نمیکنه یعنی به جای 2 ، 11 نشون میده .

نظرات

شهریار توکلی 11 سال پیش

LOG:

نظرات


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