2013-11-22 153 views
0

我需要在数据库 更新所选列这是我的数据库适配器类更新数据库

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; 
} 

我想更新的,如果状态基地,但我不能够创造更新方法 我我在android开发新

PLZ帮我 PLZ检查updateLocatin方法

我是真的很抱歉我的英语不好。

预先感谢您

+0

PLZ检查UpdateLocation方法... –

+0

您能否澄清您的问题?你想更新给定ID的状态吗? –

+0

是的,我们想更新给定Id的状态 –

回答

1

使用ContentValues到用于更新的方法提供的值。

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中的方法更新(字符串,ContentValues,字符串,字符串[])不适用于参数(字符串,字符串[ ],String [],ContentValues) –

+0

我的不好,我编辑了代码。请再试一次。 –

+0

非常感谢您的工作很好.. –