2013-07-18 214 views
0

我在我的android应用程序中有更新查询。但它没有正常工作。单击用于更新应用程序的按钮停止工作。代码如下 -更新查询在sqlite中不工作

update.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

      String feched_name = show_name.getText().toString(); 
      String get_std_for_update=id_search.getText().toString(); 
      String get_new_name = id_update.getText().toString(); 

      if(feched_name.matches("")){ 
       Toast.makeText(getApplicationContext(), "No Student selected", Toast.LENGTH_LONG).show(); 

       } 

        else { 
         if(get_new_name.matches("")){ 
         Toast.makeText(getApplicationContext(), "New Name is empty", Toast.LENGTH_LONG).show(); 
         } 
         else{ 
          stdDB.execSQL("Update student set name = "+get_new_name + "where id = "+get_std_for_update);  
          Toast.makeText(getApplicationContext(), "Student's name has been updated", Toast.LENGTH_LONG).show(); 
         } 
        } 


      } 

      }); 

回答

1

与现有的一个替换下面的查询:

stdDB.execSQL("Update student set name = '"+get_new_name + "' where id = "+get_std_for_update); 

马克周围的名称和空间的单引号。

希望这会有所帮助。

+0

就是这样。我忘了添加单引号。它的工作现在。谢谢。 –

+0

你应该接受答案,如果它对你有帮助,它将在未来帮助他人。 – Shraddha

0

尝试

stdDB.execSQL("Update student set name = '"+get_new_name + "' where id = "+get_std_for_update); 

stdDB.execSQL("Update student set name = \""+get_new_name + "\" where id = "+get_std_for_update); 

请注意我加引号,也是我的where子句后添加一个空格。