2015-12-21 61 views
-1

的sqlite表中的元組請閱讀我的問題,我已經搜索了很多,但是我還找不到答案,所以如果你給我一隻手來解決問題,我將不勝感激。 。 其實我需要在名爲「Demographics」的表中更新一個元組。但看起來我的代碼無法正常工作,事實上在運行應用程序之後,我得到了更新的結果「0」,這意味着沒有更新。在投票之前更新android studio

12-21 12:34:54.190 2351-2367/? D/Update Result:: =0 
  • 我想我的問題是由於基於主鍵不指向表中的右排。其實當用戶註冊我的應用程序應該發生以下事情:

1-在「人口統計」表中創建一個元組 - >用戶名,密碼和電子郵件將被插入。一個自動增量主鍵也被構造和插入。

2-用戶登錄,然後他可以填寫「人口統計」表中的其餘信息。 - >這個MODIFICATION是我要求的「更新」過程。

如果下列代碼錯誤或有任何隱含錯誤,請您告訴我嗎?

DemographicsCRUD.java

public long UpdateDemographics(Demographics_to demoId) { 
    //SQLiteDatabase db = dbHelper.getWritableDatabase(); 
    ContentValues values = new ContentValues(); 
    values.put(DataBaseHelper.lastName, demoId.getD_lastName()); 
    values.put(DataBaseHelper.firstName, demoId.getD_firstName()); 
    values.put(DataBaseHelper.dateOfBirth, demoId.getD_dateOfBirth()) 

    long result = database.update(dbHelper.Demographics_Table, values, 
      WHERE_ID_EQUALS, 
      new String[]{String.valueOf(demoId.getD_patientID())}); 

    Log.d("Update Result:", "=" + result); 
    // db.close(); 
    return result; 
} 

這裏就是我所說的上面的代碼:

private void updateDemographicsTable() 
{ 
    ep_demoId = new Demographics_to(); 
    String ep_na = ep_name.getText().toString(); 
    String ep_fa = ep_family.getText().toString(); 
    . 
    . 
    . 
    ep_demoId.setD_dateOfBirth(ep_bd); 
    ep_demoId.setD_firstName(ep_na); 
    ep_demoId.setD_lastName(ep_fa); 
} 

    @Override 
    protected Long doInBackground(Void... arg0) { 
     long result = ep_demoCRUD.UpdateDemographics(ep_demoId); 
     return result; 
    } 

    @Override 
    protected void onPostExecute(Long result) { 
     if (activityWeakRef.get() != null 
       && !activityWeakRef.get().isFinishing()) { 
      if (result != -1) 
       Toast.makeText(activityWeakRef.get(), "Information Updated!", 
         Toast.LENGTH_LONG).show(); 
     }} 
+0

真的不清楚你在問什麼 – Kuffs

+0

@kuffs ok讓我編輯我的問題。 – Jasmine

+0

表中是否有數據?您必須先進行插入,然後才能更新。否則'where ID = x'位什麼也沒有返回,所以什麼都不更新 –

回答

2

看起來無論你是在傳遞作爲patientID沒有在數據庫中進行匹配記錄或數據對象「Demographics_to」的患者ID設置不正確。

+0

你的第二個想法就是我所想的。但我不知道如何正確設置。 – Jasmine

+0

你是唯一可以知道的人,因爲它是你的代碼。沒有人會知道如何爲他們沒有看到的課程設定價值。 – Kuffs