如何编写搜索方法包括“Like”,如J2ME中的SQL

时间:2011-09-29 07:16:15

标签: java-me midp rms

现在我尝试编写一个小方法来搜索j2me,它运行良好,但我不知道如何编写像SQL一样的方法在j2me中使用“Like”来搜索记录库不需要匹配100%。

示例

在我的RecordStore中有2条记录

London; Paris; Atlanta;

Paramount; NewYork; Bronx;
  • 当我在TextField字母“o”上键入时,它只显示最后一条记录

    Paramount; NewYork; Bronx 虽然第一张唱片也有“伦敦”

我学会了如何用Java2s dot com编写搜索方法

http://www.java2s.com/Tutorial/Java/0430__J2ME/SearchrecordinRecordStore.htm

如何在J2me中使用“赞”?

1 个答案:

答案 0 :(得分:1)

(扩展问题评论中讨论的内容)

关于您的一般问题 - 答案是否定的,MIDP 2 API与SQL LIKE没有任何关系。根据RecordStore API,不能使用SQL表达式/语句。

搜索MIDP RecordStore以进行不精确匹配(类似于SQL LIKE)的方法是使用正则表达式处理记录。请注意,正则表达式反过来也在MIDP 2 API中不可用。

要在MIDP中使用正则表达式,必须为这些代码编写自己的代码,或者更好的是,获取一些执行此操作的库,例如"regexp-me" open source package

  

“基于Jakarta Regexp的Java Me(j2me)正则表达式包.Regexp-me兼容CLDC1.0并且支持部分Unicode”。


至于您提到的示例SearchrecordinRecordStore.htm,看起来如果您正确移植它,那么您应该获得“伦敦”。

  • 我的意思是如果你的RecordFilter传递包含“o”的字符串(不区分大小写),并且如果使用该过滤器枚举记录,则枚举中应该包含“London”。

    在做输出时检查你是否以某种方式错过了“伦敦”(顺便说一句原始示例似乎是针对显示单个结果)。如果您使用模拟器,请考虑使用System.out.println - 这样您不仅可以使用MIDlet UI重新检查输出,还可以在模拟器控制台中重新检查输出。