2013-08-12 5 views
0

SQLite 데이터베이스의 '정수'필드에 1을 추가하여 업데이트하려고합니다. 그래서 다음 X = X+1SQLite 데이터베이스에서 정수 필드를 업데이트 할 수 없습니다.

것은 내 코드

내 데이터베이스에있는 사물을 SQLite는 데이터베이스 브라우저를 사용하고
public synchronized void updateStatistics(List<String> correctWords, 
      List<String> facedWords, int wordListNumber, boolean flag) { 
     // TODO Auto-generated method stub 
     String[] tableLastNames= {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; 

     String tableName = "WordList_"+tableLastNames[wordListNumber]; 


     if(flag) 
     { 
      //First update 'FacedWords' row 

      Toast.makeText(context, "Faced Words Length: "+facedWords.size(), Toast.LENGTH_LONG).show(); 
      Toast.makeText(context, "Correct Words Length: "+correctWords.size(), Toast.LENGTH_LONG).show(); 

      try 
      { 
       for(int i=0;i<facedWords.size();i++) 
       { 
        String query = "update "+ tableName+" set NumberOfTimesEnglishWordShowed=NumberOfTimesEnglishWordShowed+1 where EnglishWord = ' "+(facedWords.get(i)).trim()+"'"; 
        database.execSQL(query); 
       } 

       for(int i=0;i<correctWords.size();i++) 
       { 
        String query = "update "+ tableName+" set NumberOfTimesEnglishWordCorrected=NumberOfTimesEnglishWordCorrected+1 where EnglishWord = ' "+(facedWords.get(i)).trim()+"'"; 
        database.execSQL(query); 
       } 

       //Toast.makeText(context, "Updated Word: "+, duration) 
      } 
      catch(Exception e) 
      { 
       Toast.makeText(context, "Update error", Toast.LENGTH_LONG).show(); 
      } 

     } 



    } 

이고, 나는 위의 코드는 아무것도를 업데이트하지 않았다 발견! 오류는 없습니다! 당신이 필요로하는 경우, 다음과 같은 테이블

String createDatabaseQuery = "create table WordList_A(" + 
        "ID integer primary key autoincrement," 
        +"NumberOfTimesEnglishWordShowed integer," 

        +"NumberOfTimesEnglishWordCorrected integer,");"; 

내가 사용하는 업데이트 쿼리는 MS SQL 업데이트 쿼리와 유사하다에서 필요한 부분이다, 그래서 나는 그런 식으로 SQLite는 함께 작동하는지 모르겠습니다. 왜 내 코드가 아무것도 업데이트하지 않는거야?

+2

+ (facedWords.get (i)). trim() + " ''목적에 맞습니까? 그것은 틀린 것처럼 보입니다 ... –

+0

@Heuster : 좋습니다! 이거 야! 고맙습니다! 먼저 문제를 발견 했으므로 답을 답으로 표시하고 싶습니다. 답변을 –

+2

Tnx로 제공 할 수있을 정도로 친절하되, 다른 대답을 수락 된 것으로 표시하십시오. 그것은 경쟁이 아니에요 :) –

답변

4

나는 당신이 여분의 "공간"을 생각 도와주세요 당신의 where 절 :

where EnglishWord = ' "+(facedWords.get(i)).trim()+"'" 

너무로 교체 : 최고의 공간 "`에서인가

where EnglishWord = '"+(facedWords.get(i)).trim()+"'" 
+0

안녕하세요, 해답을 많이 주셔서 감사합니다. 그것은 작동합니다! 나는 이미 +1을주었습니다. –

+0

+1과 행운을 빕니다. –

관련 문제