0

我在 android 中为我的应用程序使用 ormlite。我想用中文字符串运行查询

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);

wherepHotelName是一个中文字符串,但是serachListHotels是空的。

4

1 回答 1

2

这个单元测试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);

这似乎工作正常。你有什么不同的做法吗?

于 2011-09-21T17:20:37.047 回答