0

I am developing one application in that I have to update some columns ,I wrote syntax for update query but it show syntax error please tell me my where I mistake

my update query

 public String  updateEntry(UserDetailsDTO userDetails)
 {
     StringBuilder sb = new StringBuilder();
     Cursor cur= myDB.rawQuery("UPDATE "+UserDBHandler.USER_TABLE+" SET 
             "+UserDBHandler.DOOR_NUMBER+" = '"+userDetails.getDoorNo()
                             +","+UserDBHandler.LANDMARK+" = 
             '"+userDetails.getLandMark()+","+UserDBHandler.STREET+" = 
              '"+userDetails.getStreet()+
                             ","+UserDBHandler.CITY+" =  
       '"+userDetails.getCity()+","+UserDBHandler.STATE+" = '"+userDetails.getState()+"'   
       WHERE "+ 
                               UserDBHandler.USER_NAME+" = ?",new 
      String[]{userDetails.getUserName()});
     if(cur.moveToFirst()){

        UserDetailsDTO comb_off_job = new UserDetailsDTO();

                comb_off_job.setDoorNo(cur.getString
                (cur.getColumnIndexOrThrow(UserDBHandler.DOOR_NUMBER)));

                comb_off_job.setLandMark(cur.getString
                (cur.getColumnIndexOrThrow(UserDBHandler.LANDMARK)));

                comb_off_job.setStreet(cur.getString
                (cur.getColumnIndexOrThrow(UserDBHandler.STREET)));

                comb_off_job.setCity(cur.getString
                (cur.getColumnIndexOrThrow(UserDBHandler.CITY)));

                comb_off_job.setState(cur.getString
                (cur.getColumnIndexOrThrow(UserDBHandler.STATE)));
        sb.append(comb_off_job);
     }

    return sb.toString(); 
 }      

In my activity

userDetailsdto.setDoorNo(doorNumber);
userDetailsdto.setLandMark(Landmark);
userDetailsdto.setStreet(Street);
userDetailsdto.setCity(City);
userDetailsdto.setState(State);
userDetailsdto.setUserName(uName);
userDetalidImpl.updateEntry(userDetailsdto);
7
  • Try update(),refer this developer.android.com/reference/android/database/sqlite/… Commented Feb 13, 2014 at 6:37
  • are you getting any error ? Commented Feb 13, 2014 at 6:37
  • post your syntax error trace Commented Feb 13, 2014 at 6:39
  • 02-13 12:07:24.133: E/AndroidRuntime(556): android.database.sqlite.SQLiteException: near "hiyath": syntax error: , while compiling: UPDATE TABLE_USER SET door_number = '123-12,landmark = 'hiyath,street = 'Manaram,city = 'hyderabad,state = 'ANDRA' WHERE username = ? Commented Feb 13, 2014 at 6:40
  • 1
    you missing some " ' " Commented Feb 13, 2014 at 6:44

2 Answers 2

2

Yes you have Syntax error as per Manju Zi say missing ' in query.

Cursor cur= myDB.rawQuery("UPDATE "+UserDBHandler.USER_TABLE+" SET 
             "+UserDBHandler.DOOR_NUMBER+" = '"+userDetails.getDoorNo()
                             +","+UserDBHandler.LANDMARK+" = 
             '"+userDetails.getLandMark()+","+UserDBHandler.STREET+" = 
              '"+userDetails.getStreet()+
                             ","+UserDBHandler.CITY+" =  
       '"+userDetails.getCity()+","+UserDBHandler.STATE+" = '"+userDetails.getState()+"'   
       WHERE "+ 
                               UserDBHandler.USER_NAME+" = ?",new 
      String[]{userDetails.getUserName()});

check this. may it help you

 Cursor cur= myDB.rawQuery("UPDATE "+UserDBHandler.USER_TABLE+" SET "
                 +UserDBHandler.DOOR_NUMBER+" = '"+userDetails.getDoorNo()+"'"
                                 +","+UserDBHandler.LANDMARK+" = '"+userDetails.getLandMark()+"'"+","+UserDBHandler.STREET+" = '"+userDetails.getStreet()+"'"+
                                 ","+UserDBHandler.CITY+" =  '"+userDetails.getCity()+"'"+","+UserDBHandler.STATE+" = '"+userDetails.getState()+"' WHERE "+ 
                                   UserDBHandler.USER_NAME+" = ?",new 
          String[]{userDetails.getUserName()});
Sign up to request clarification or add additional context in comments.

Comments

2

check this updated code:

Cursor cur= myDB.rawQuery("UPDATE " + UserDBHandler.USER_TABLE + 
            " SET" + UserDBHandler.DOOR_NUMBER + " = '" + userDetails.getDoorNo() + "' ," 
                + UserDBHandler.LANDMARK + " = '" + userDetails.getLandMark() + "' ,"
                + UserDBHandler.STREET + " = '" + userDetails.getStreet() + "' ,"
                + UserDBHandler.CITY + " = '" + userDetails.getCity() + "',"
                + UserDBHandler.STATE + " = '" + userDetails.getState() + "' WHERE " 
                + UserDBHandler.USER_NAME + " = ?",new 
     String[]{userDetails.getUserName()});

PS: Amol Sawant 96 Kuli was quicker

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.