запрос с символом юникода в ormlite не дает требуемого результата - PullRequest
0 голосов
/ 21 сентября 2011

Я использую ormlite для своего приложения в Android. Я хочу выполнить запрос с китайской строкой, такой как

QueryBuilder<Hotel, Integer> qb = daoHotelObject.queryBuilder();
Where<Hotel,Integer> where=qb.where();
where.eq("hotel_name", pHotelName);
where.and();
where.between("hotel_avg_price", minRange,maxRange);
PreparedQuery<Hotel> pq = qb.prepare();
List<Hotel> serachListHotels = daoHotelObject.query(pq);

Где pHotelName - китайская строка, но serachListHotels пусто.

1 Ответ

2 голосов
/ 21 сентября 2011

Этот модульный тест отлично работает для меня в ORMLite . Это делает что-то вроде следующего:

TableUtils.createTable(connectionSource, Foo.class);
Dao<Foo, Object> dao = DaoManager.createDao(connectionSource, Foo.class);
Foo foo = new Foo();
String unicodeString = "上海";
foo.stuff = unicodeString;
assertEquals(1, dao.create(foo));

QueryBuilder<Foo, Object> qb = dao.queryBuilder();
qb.where().eq(Foo.STUFF_FIELD_NAME, unicodeString);
List<Foo> results = qb.query();
assertEquals(1, results.size());
assertEquals(unicodeString, results.get(0).stuff);

Кажется, это работает нормально. Есть ли что-то, что вы делаете по-другому?

...