2015-12-21 29 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