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

は中国語pHotelNameの文字列ですが、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 に答える