내가 sqlite에서 문자 와일드 카드 "_"
을 사용하려고하고 있는데, 조건이 "높은 곳에서 뛰기"에 가깝다. 나는 rawQuery와 다양한 쿼리를 모두 시도했다. 하드 및 소프트 코딩 된 매개 변수. 그것은 문자 와일드 카드 "_"
을 무시하고 모든 행을 반환하거나 전혀 반환하지 않는 것 같습니다. 유지rawQuery 와일드 카드``_ '`not working
데이터가 오렌지 인 것을 의미하는 '01001000'이 될 수있는 열은 오브젝트
("red,orange,yellow,green,blue,indego,violet,black")
및 행의 색의 색상을 나타낼 수있는 예를 들어 oblect의 특징을 나타내는 여러 열이고 파란색이지만 빨간색, 노란색 등 다른 열에는 단일 문자가 들어 있습니다. 즉, 크기에 s, m 또는 l (작은, 중간, 큰 매핑)이 포함되어 있습니다. 데이터베이스는 각 유형의 여러 열을 보유하고 있으므로 가능한 한 데이터베이스를 압축해야합니다.
내 첫 번째 의도는 선택 항목의 '위치'를 문자열로 전달하여 사용자가 선택한 여러 기능에 대한 응답으로 코드에서 myselect가 컴파일 된 코드 인 rawQuery(myselect,null)
에 전달하는 것입니다. 즉
mywhere 문자열을 반환하는 컴파일 - colour1을 "___1_01__"
및 크기와 같은 "_1__10__"
과 컬러 2처럼 = "l"
을하고 rawQuery
db.rawQuery("SELECT _id , name FROM widgets WHERE " + mywhere , null);
에 전달 아래 잘 파이어 폭스의 SQLite는 관리자
을 사용하여 작동 문SELECT _id , name FROM widgets WHERE colour1 like "_1__10_" and colour2 like "__1_01___" and size ="m"
조사하려면 where 절의 한 열로 쿼리를 자름
myselect ="SELECT _id ,name,FROM widgets where colour1 like \"1_______\"";
cursor = db.rawQuery(myselect,null);
반환하지 행
myselect ="SELECT _id ,name,FROM widgets where colour1 like \"%1_______%\"";
cursor = db.rawQuery(myselect,null);
반환 행을 전부는 아니지만 첫 번째 문자에서 1
myselect ="SELECT _id ,name, FROM widgets where colour1 like ?";
String[] whereArguments = { "1_______" };
cursor = db.rawQuery(myselect,whereArguments);
반환에게 어떤 행
myselect ="SELECT _id ,name, FROM widgets where colour1 like ?";
String[] whereArguments = { "%1_______%" };
cursor = db.rawQuery(myselect,whereArguments);
(I이 예상)이
은 행을 반환하지만 모두 첫 행에 1을 갖지는 않습니다.
를 숯불하지만
myselect ="SELECT _id ,name, FROM widgets where colour1 like ?";
String[] whereArguments = { "10000000" };
cursor = db.rawQuery(myselect,whereArguments);
에서 모든 행을 얻을 해달라고 "10000000"
어느 한 어떤 솔루션이 있습니까 포함 된 행이? 검색을 시도했지만 rawQuery 및 쿼리가 Android에서 의심스러운 기능을 갖고있는 것으로 보입니다.
. 예를 들어, this를 참조하십시오. 반드시 내가 발견되지 않음 내 문제! 나는 Firefox의 SQLite Manager에서 만든 데이터를 Android에 SQLite 데이터베이스를 만들기 위해 내 보낸다. 각 열에는 "10000000"이라는 데이터가 포함되어 있으므로 "10000000" – user1108608