2013-11-22 4 views
0
나는 데이터베이스 에서 선택한 열을 업데이트해야

이 나는 ​​경우의 상태 기지를 업데이트 할 내 DB를 어댑터 클래스업데이트 데이터베이스

public class DBAdapter { 

private static final String TAG = "DBAdapter"; 
private static final String DATABASE_NAME = "jobDiagnosis"; 
private static final int DATABASE_VERSION = 2; 
Cursor cursor = null; 
private static final String TABLE_DATA = "create table Job_Saved (" + 
     "Id text not null," + 
     "Title text not null," + 
     "Location text not null," + 
     "State text not null," + 
     "Company text not null," + 
     "Description text not null," + 
     "Status text not null," + 
     "Username text not null," + 
     "Password text not null)"; 
private final Context context; 
private DatabaseHelper dbHelper; 
private SQLiteDatabase db; 
private static DBAdapter instance; 

private DBAdapter(Context c) { 
    System.out.println("Constructor of DB Adapter..."); 
    this.context = c; 
    System.out.println("Creating the object of db helper class.."); 
    try 
    { 
    dbHelper = new DatabaseHelper(context); 
    dbHelper.getWritableDatabase(); 
    } 
    catch (Exception e) { 
     // TODO: handle exception 
     Log.d("err", ""+e); 
    } 
} 

public static DBAdapter getInstance(Context C) { 
    if (null == instance) { 
     instance = new DBAdapter(C); 
    } 
    return instance; 
} 

public void openReadableDatabase() throws SQLException { 
    db = dbHelper.getReadableDatabase(); 
} 

public void openWritableDatabase() throws SQLException { 
    db = dbHelper.getWritableDatabase(); 

} 


public void close() { 
    dbHelper.close(); 
} 
public long DeleteLocation() 
{ 
    return db.delete("Job_Saved", null, null); 
} 
public long DeleteLocation(String id) 
{ 
    return db.delete("Job_Saved", "id='" + id + "'", null); 
} 
public long updateLocation(String id,String str) 
{ 
    return db.update("Job_saved", null, "Id='" + id + "'"+"& "+"Status='" + str + "'", null); 
} 
public long insertlocation(String Id,String Title,String Location,String State,String Company,String Description,String value, String Username,String Password) { 
    //DatabaseHelper d=new DatabaseHelper(DBAdapter.this); 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put("Id", Id); 
    initialValues.put("Title", Title); 
    initialValues.put("Location", Location); 
    initialValues.put("State", State); 
    initialValues.put("Company",Company); 
    initialValues.put("Description", Description); 
    initialValues.put("Status", value); 
    initialValues.put("Username", Username); 
    initialValues.put("Password", Password); 
    return db.insert("Job_Saved", null, initialValues); 
} 
public ArrayList<Data> getAllData(String username){ 
    ArrayList<Data> arr = new ArrayList<Data>(); 
    Cursor c = db.query("Job_Saved", null, "Username='" + username + "'", null, null, null, null); 
    if(c.getCount()>0){ 
     while(c.moveToNext()){ 
      Data f = new Data(); 
      f.setid(c.getString(0)); 
      f.setbusinessname(c.getString(1)); 
      f.setcityname(c.getString(2)); 
      f.setstatename(c.getString(3)); 
      f.setcompanyname(c.getString(4)); 
      f.setDesc(c.getString(5)); 
      f.setStatus(c.getString(6)); 
      f.setUser(c.getString(7)); 
      //f.setCharging(c.getString(8)); 
      arr.add(f); 
     } 

    } 
    c.close(); 
    return arr; 
} 
public Boolean getStatus(String str){ 
    Boolean check_status=false; 
    Cursor c = db.query("Job_Saved", null, "id='" + str + "'", null, null, null, null); 
    if(c.getCount()>0){ 
    check_status=true; 
    } 
    c.close(); 
    return check_status; 
} 
public boolean getStatus(String str,String username){ 
    Boolean check_status=false; 
    Cursor c = db.query("Job_Saved", null, "Id='" + str + "'"+" & "+"Username='" + str + "'", null, null, null, null); 
    while(c.getCount()>0){ 
    check_status=true; 
    } 
    c.close(); 
    return check_status; 
} 
public void updateDownload(String id , String status) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put("status", status); 
    db.update("Likes", initialValues, "id=?", new String[] {id}); 
} 
public String getIdStatus(String id){ 
    String a=""; 
    Cursor c = db.query("Likes", null, "id='" + id + "'", null, null, null, 
      null);  
    if(c.getCount()>0){ 
     while(c.moveToNext()) 
     { 
     a=c.getString(1); 
     } 

    } 
    return a; 
} 

입니다하지만 난 I을 업데이트 방법을 만들 수 아니다

PLZ 나에게 도움 안드로이드 개발에 새로운 오전 PLZ 내가 정말 죄송 방법 updateLocatin

확인 내 나쁜 영어.

는 업데이트 방법에 대한 값을 제공하기 위해 사용 ContentValues

+0

PLZ 확인 UpdateLocation Method ... –

+0

문제를 명확하게 설명해 주시겠습니까? 주어진 ID의 상태를 업데이트 하시겠습니까? –

+0

예이 코드를 사용하여 오류가 발생하면 주어진 Id –

답변

1

사전에 감사합니다.

public long updateLocation(String id,String str) 
{ 
    ContentValues values = new ContentValues(); 
    values.put("Status", str); 

    return db.update("Job_Saved", values, "Id='" + id + "'", null); 
} 

참고 : WHERE 절에 매개 변수화 된 문을 사용하면 SQL 삽입을 방지하는 것이 좋습니다.

return db.update("Job_Saved", values, "Id=?", new String[]{ id }); 
+0

의 상태를 업데이트하려고합니다. SQLiteDatabase 유형의 메서드 업데이트 (String, ContentValues, String, String [])는 인수에 사용할 수 없습니다 (String, String [ ], String [], ContentValues) –

+0

불량, 코드를 수정했습니다. 다시 시도하십시오. –

+0

대단히 감사합니다. 잘 작동합니다. –