Ciągle próbuję używać symboli wieloznacznych w wyszukiwaniu w aplikacji dla systemu Android, i ciągle pojawiają się błędy.Dzikie karty nie działają w SQLite
ja wykonując wyszukiwania w mojej aplikacji przy użyciu ciąg poniżej:
Cursor c_name = b.query("namedrxns", new String[] { "_id", "name" },
"name LIKE %?%", new String[] { query }, null, null, null);
kiedy używam name LIKE %?%
lub name=%?%
dostaję „near«%»: błąd składni:, podczas kompilacji: SELECT _id, nazwa FROM namedrxns WHERE nazwa =%?% "błąd.
ale z name LIKE '%?%'
lub name='%?%'
dostaję zamiast „wiążą lub indeks kolumny z zakresu: obsługi 0x40cb70”
Może ktoś mi powiedzieć co robię źle?
Dzięki!
Co powiesz na dodanie symbolu wieloznacznego do zmiennej, która jest przekazywana, zamiast umieszczania jej w zapytaniu? –
Działa doskonale, dziękuję! Wydaje mi się to trochę głupie, ale nieważne. Byłabym szczęśliwa, gdybyś wybrała odpowiedź, jeśli uznasz to za odpowiedź :) –
Brzmi nieźle. Parametry sznurka w zasadzie będą zawierać cytaty i rzeczy, więc możesz skończyć z czymś takim jak name =% 'David'%, który jest nieprawidłowym SQL. Moja znajomość SQL nie jest do końca odpowiednia, więc jest tu trochę więcej pracy niż to, co mogę powiedzieć, ale to powinno dać ci pojęcie, dlaczego musi to być zrobione tak, jak opisują kucyki OMG. –