babak6655

پیغام خطا در بروزرسانی دیتابیس در لیست ویو

1 ارسال در این موضوع قرار دارد

سلام من در لیست ویو بعد از نمایش خواستم که وقتی هر کدام از چک باکس ها کلیک شد مقدار آن در دیتابیس هم تغییر کنه و این کد رو در  لیست ویو نوشتم ولی از ارسال مقادیر به متد و برگشتش خطا میگیره و کرش میکنه

  public void fill(final ArrayAdapter adapter, final StructNote item, final int position) {
           txt_name.setText(item.name);
           //  txtDescription.setText(item.description);
           checkshow.setChecked(item.checshow);
           checkshow.setOnClickListener(new OnClickListener() {

               @Override
               public void onClick(View view) {
                   int ks;

                   CheckBox checkBox = (CheckBox) view;
                   handler = new DatabaseHandler();
                   DatabaseHandler db = new DatabaseHandler(null);
                   item.checshow = checkBox.isChecked();
                   // db.open();
                   if (item.checshow) {
                       ks = 1;
                       handler.Update_today(ks, item.id);
                   }
                   // db.close();
               }
           });

و این کد هم در قسمت آپیدیت دیتابیس نوشتم

public class DatabaseHandler
{

   public static SQLiteDatabase database;
   public static final String   DIR_sdcard                          = Environment.getExternalStorageDirectory().getAbsolutePath();
   public static final String   DIR_database                        = DIR_sdcard + "/database_food/";
   public static final String   Registeration_food                  = "Registeration_food";
   public static final String   DATABASE_NAME                       = "tedatabase_foodst";
   public static final int      DATABASE_VERSION                    = 1;
  
   public static final String   TABLE_CREATE_Registeration_food     = "CREATE  TABLE  IF NOT EXISTS Registeration_food " +
                                                                            "(id_food INTEGER PRIMARY KEY  AUTOINCREMENT " +
                                                                            " NOT NULL  UNIQUE , name_food TEXT,  chkshow_food bool)";

   DataBaseHelper               dbhelper;
   Context                      context;
   SQLiteDatabase               db;

   public DatabaseHandler(Context ctx)
   {
       this.context = ctx;
       dbhelper = new DataBaseHelper(context);
   }

   private static class DataBaseHelper extends SQLiteOpenHelper
   {

       public DataBaseHelper(Context ctx)
       {
           super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
       }

       @Override
     
       public void onCreate(SQLiteDatabase db)
       {
           db.execSQL(TABLE_CREATE_Registeration_food);
                   }


       @Override
     
       public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
           db.execSQL("DROP TABLE IF EXIST Registeration_food");
          
           onCreate(db);
       }
   }


   public DatabaseHandler open()
   {
       
       db = dbhelper.getWritableDatabase();
       return this;
   }


   public void close()
   {
       
       dbhelper.close();
   }
public long Update_today(int chk, int id) {
       {
           String s = "id_food =='" + id + "'";
           String chkshow_food = "chkshow_food";

           //This class is used to store a set of values  
           ContentValues content = new ContentValues();
           content.put(chkshow_food, chk);

         return db.update(Registeration_food, content, s, null);
       }
   }

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری