2016-06-18 3 views
-2
  1. 이것은 내 데이터베이스 클래스입니다.내 sqlite DB에서 특정 데이터를 어떻게 업데이트 할 수 있습니까?

    public boolean updatePrediction(String item_ean,String prediction) 
    { 
    SQLiteDatabase db=this.getWritableDatabase(); 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(ITEM_EAN, item_ean); 
    contentValues.put(PREDICTION_TYPE,prediction); 
    db.update(TABLE_REPORT,contentValues,PREDICTION_TYPE+"="+,null); 
    return true; 
    
  2. 이것은 활동 클래스 코드 스 니펫입니다. 난 내 경우 토글 버튼을 특정 데이터를 전환 할 때

    toggleButton.setOnClickListener(new View.OnClickListener() 
    { 
    @Override 
    public void onClick(View v) { 
    if (((ToggleButton) v).isChecked()) { 
    booleanisUpdated=dbcontroller.updatePrediction(editText.getText().toString(),"4"); 
    Toast.makeText(getBaseContext(), "Toggle is on"+isUpdated, Toast.LENGTH_LONG).show(); 
    
    } else { 
    Toast.makeText(getBaseContext(), "Toggle is off",Toast.LENGTH_LONG).show(); 
    
    } 
    } 
    }); 
    

는 item_ean의 prediction_type을 변경해야합니다.

+0

SQLiteDatabase는 SQLiteOpenHelper를 확장하는 클래스 이름입니까? – Marat

답변

0

execSQL은 SELECT/INSERT/UPDATE/DELETE가 아닌 단일 SQL 문을 실행하기위한 것입니다.

UPDATE 문의 경우 다음 중 하나를 사용하십시오.

  1. 업데이트 (문자열, ContentValues, 문자열, 문자열 [])
  2. updateWithOnConflict (문자열, ContentValues, 문자열, 문자열 [], int)를

당신은이 같은 사건에 대한 업데이 트를 사용해야합니다 :

public boolean updatePrediction(String item_ean,String prediction){ 
    SQLiteDatabase db=this.getWritableDatabase(); 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(ITEM_EAN, item_ean); 
    String[] args = new String[]{prediction}; 
    db.update(TABLE_REPORT,contentValues,PREDICTION_TYPE+"=?",args); 
    return true; 
} 
+0

아니요! 그것은 업데이 트되지 않습니다. – Moses

+0

@Moses는 내가 대답 한 구현을 시도해 볼 수 있습니까? – Casablancais

+0

나는 그랬다. 그대로. 작동 안함. – Moses

관련 문제