مشکل در کوئری های SQLLite
با سلام و عرض ادب
مجموعه ما حدود 4 ماهی است که برنامه ای را در مارکت های ایرانی منتشر کرده است، ولی درصد کوچکی از کاربران ما با مشکلی که در ادامه تشریح می کنم روبرو هستند :
اطلاعات چک ها از کاربر دریافت می شود و تاریخ در سیستم به شمسی ذخیره می شود ولی در یافت اطلاعات چک های موعد سررسید در برخی از سیستم ها نتیجه ی جستجوی بر اساس تاریخ خالی می باشد.
فایل پشتیبان این کاربران را هم که در گوشی دیگر تست می کنیم، هیچ مشکل وجود ندارد و اطلاعات به درستی نمایش داده می شود یعنی مشکل در اطلاعات ثبت شده از نظر فرمت ثبتی وجود ندارد. ورودی را به شکل زیر استاندارد کرده و در دیتابیش ثبت می کنیم :
Configuration config = new Configuration(); config.locale = Locale.US; Locale.setDefault(Locale.US); // has no effect Resources res = getApplicationContext().getResources(); res.updateConfiguration(config, res.getDisplayMetrics());
public static String toStandardNumber(String strNumberParam) { strNumberParam = strNumberParam.replace("۰", "0"); strNumberParam = strNumberParam.replace("۱", "1"); strNumberParam = strNumberParam.replace("۲", "2"); strNumberParam = strNumberParam.replace("۳", "3"); strNumberParam = strNumberParam.replace("۴", "4"); strNumberParam = strNumberParam.replace("۵", "5"); strNumberParam = strNumberParam.replace("۶", "6"); strNumberParam = strNumberParam.replace("۷", "7"); strNumberParam = strNumberParam.replace("۸", "8"); strNumberParam = strNumberParam.replace("۹", "9"); strNumberParam = strNumberParam.replace("٫", "."); return strNumberParam; }
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 2);
String date = DateConverter.civilToPersian(new CivilDate(calendar)).toString();
Log.i("MyAlarmService", date);
String filter = "(status = 0) and (date <= '" + date + "')";
برای مشاهده چک های دو روز آینده از روش فوق استفاده می کنیم، که تقریبا 98 درصد مشکلی ندارد، مشکل ما 2% باقی مانده است.
لطفا اگر دوستان راه حلی به ذهنشان می رسد، راهنمایی کنند.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .