2015-09-02 101 views
-1

我有一個分析表,數據庫中有列作爲用戶名,電子郵件和地址。當用戶登錄時,我想檢查用戶是否填寫了地址。如何查詢特定用戶名的數據庫,並檢查地址欄是否爲空?Android Parse數據庫查詢

我正在將數據寫入下表中。

final ParseObject testObject = new ParseObject("UserDetails"); 
testObject.put("UserName", userName); 
testObject.put("Email", EmailStr); 

testObject.saveInBackground(new SaveCallback() { 

@Override 
public void done(com.parse.ParseException e) { 
    // TODO Auto-generated method stub 
    if (e == null) { 
     // Success! 
    objectId = testObject.getObjectId().toString(); 

    } else { 
     // Failure! 
      } 
      } 
    }); 

當用戶註冊時會發生這種情況。在註冊後,當用戶登錄時,我想要編輯UserDetails表中某些特定用戶的數據。就像我想檢查用戶的地址欄是否爲空。如果它是空白的,我想強制用戶填寫它。這僅僅是一個例子。一般來說,我想知道一種方法,我可以在其中修改特定行的某些列。

ParseQuery<ParseObject> query = ParseQuery.getQuery("UserDetails"); 
query.whereEqualTo("UserName", username); 
query.findInBackground(new FindCallback<ParseObject>() { 

     @Override 
     public void done(List<ParseObject> arg0, 
       com.parse.ParseException arg1) { 
      // TODO Auto-generated method stub 
      if (arg1 == null) { 

       userExistance = true; 
       if (arg0.size() == 1) 
        Tv1.setText(username + " exists in UserDeatils DB too"); 
       else if (arg0.size() > 1) 
        Tv1.setText(username 
          + " exists in UserDeatils DB multiple times"); 
       else 
        Tv1.setText(username 
          + " does not exist in UserDeatils DB"); 

      } else { 
       Log.d("score", "Error: " + arg1.getMessage()); 
      } 

     } 
    }); 

如果用戶存在於表的UserDetails與否,在登錄電子後,我已經實現了上述碼T檢查。現在我婉檢查該用戶在的UserDetails類的地址欄。

+1

你真的需要出示[你嘗試過什麼(http://mattgemmell.com/what-have-you-tried/)..... – 2Dee

+0

對不起我忘記了之前添加的代碼,現在我已經添加了它。請給我你的投入 –

回答

0

對於UserDetails,找到用戶名。然後針對特定的用戶名檢查ContactAddress列

ParseQuery<ParseObject> query = ParseQuery.getQuery("UserDetails"); 
query.whereEqualTo("UserName", username); 

query.findInBackground(new FindCallback<ParseObject>() { 

     @Override 
     public void done(List<ParseObject> arg0, 
       com.parse.ParseException arg1) { 
      // TODO Auto-generated method stub 
      if (arg1 == null) { 

       ParseObject p = arg0.get(0); 
       if(p.getString("ContactAddress")==null) 
        { 
         p.put("ContactAddress",address + " " +city +" " +state +" " +country); 
         p.saveInBackground(); 
        } 
      } 
      else { 
       Log.d("score", "Error: " + arg1.getMessage()); 
      } 
     } 
});