2011-06-13 3 views
0

그래서 내가 카테고리의 값이 설정되어 내 데이터베이스 &의 데이터를 가지고 "아침 식사"ANDROID : WHERE 절을 문자열로 SELECT 할 수 있습니까?

내가 와 아래의 쿼리를 실행하면 whereClause

1

등 : 최종 문자열 whereClause =에는 Recipe_ID + "= 1";

그것은 그 에는 Recipe_ID

나에게 데이터를 반환하지만

2로 whereClause으로 쿼리를 실행할 때 : whereClause = RECIPE_CATEGORY + "= '"+ 카테고리 최종 문자열입니다. trim() + " '";

은 ... 아무것도 반환하지 않습니다 그래서 나는 결과를 에는 Recipe_ID를 반환으로 내 코드가 잘 작동 생각하지만 donno 왜 2 whereClause

희망이 데이터를 반환하지 않습니다 의미가 있습니다 ..

final String whereClause = RECIPE_CATEGORY + "='" + category.trim() + "'"; 
     // ask the database object to create the cursor. 
     cursor = db.query(
       RECIPE_TABLE, 
       new String[]{ 
          RECIPE_ID, 
          RECIPE_CATEGORY, 
          RECIPE_THIS_TITLE, 
          RECIPE_THIS_SUBTITLE, 
          RECIPE_THIS_DESCRIPTION, 
          RECIPE_THIS_IMAGE,   
          RECIPE_THIS_CALORIES, 
          RECIPE_THIS_FAT, 
          RECIPE_THIS_SATURATED, 
          RECIPE_THIS_TRANS, 
          RECIPE_THIS_CARBS, 
          RECIPE_THIS_SODIUM, 
          RECIPE_THIS_SUGARS, 
          RECIPE_THIS_SERVINGS, 
          RECIPE_THIS_COSTPERSERVING, 
          RECIPE_THIS_INSTRUCTIONS, 
          RECIPE_THAT_TITLE, 
          RECIPE_THAT_CALORIES, 
          RECIPE_THAT_FAT, 
          RECIPE_THAT_SATURATED, 
          RECIPE_THAT_TRANS, 
          RECIPE_THAT_CARBS, 
          RECIPE_THAT_SODIUM, 
          RECIPE_THAT_SUGARS, 
          RECIPE_THAT_PRICE 
         }, 
         whereClause, null, null, null, null 
     ); 

위의 코드는 결과를 반환하지 않습니다. 그것에 문제가 있습니까?

+0

정보가 충분하지 않습니다. 데이터베이스에 데이터가 있습니까? '카테고리'에는 가치가 있습니까? 커서를 제대로 사용하고 있습니까? 컨텍스트가 충분하지 않기 때문에 우리는 말할 수 없습니다. –

+0

'category'는''OR 1 = 1;의 값을 가지고 있지 않습니다. DROP TABLE Customers; -'. –

+0

나는 내 질문을 편집하여 지금은 의미가 있음을 확인해 주시겠습니까 – ujwaltrivedi

답변

0

정말 여기에서 질문을 작성해야합니다. 코드를 게시하면 좋지 않습니다. 귀하의 제목이 당신이 암시 하듯이 그렇다면, 검색 절을 문자열로 할 수 있습니다. 그냥 그곳을 떠나주세요. 예 : dataId = 5 여기서 'where'가 암시됩니다.

편집 : 놓친 부분의 질문에 답하기 위해 여러 가지 문제가있을 수 있습니다. 하나는 데이터베이스에 어떤 데이터도 가지고 있지 않을 수도 있습니다. 또는 where 절이 실행되고 데이터가 기준에 맞지 않습니다. 데이터베이스를 확인하십시오. 우리는 그걸 도울 수 없습니다.

+0

내 질문을 편집하여 내 뜻을 바꿔야합니다. – ujwaltrivedi

+0

확인하십시오. 여전히 데이터베이스에 생각하는 데이터가 없을 수도 있습니다. 않습니다. 리턴 할 값이 없으면?서는 값을 리턴 할 수 없습니다. – AedonEtLIRA

+0

예, 데이터가있었습니다 ... SQLLite 데이터베이스 브라우저를 사용한 후 다른 열에 있음을 발견했습니다. 내 나쁜 ... :(도움을 주셔서 감사합니다. – ujwaltrivedi

관련 문제