我正在使用J2ME创建一个应用程序。用于连接数据库我正在使用RecordStore。
所以要获得一条记录我需要写如下:
public boolean SearchRecord(String Rec, int pos )
{
String [] data = getRecordData();
Rec = Rec.substring(0,pos);
for ( int i = 0 ; i < data.length ; i++ )
{
data[i] = data[i].substring(0, pos );
if ( Rec.toString().trim().equals(data[i].toString().trim()) )
{
data = null; // System.gc();
return true;
}
}
data = null; // System.gc();
return false;
}
首先获取所有记录并遍历它以搜索记录。但我有成千上万的记录,我只需要一些基于标准有什么方法可以解决这个问题?我不想遍历数千条记录来获得10条记录。
我对UI部分感到困惑的另一件事是LWUIT更好或JSR更好实现?
答案 0 :(得分:2)
您在问题中谈论的代码是来自answer的方法。我大约一年前开发了这个代码,仅用于搜索目的。 RMS的基础是平面文件的结构化版本。您无法在RMS上触发查询。没有用于从RMS搜索记录的内置方法。这就是经过多次研发后的原因。我开发了上面的代码。
答案 1 :(得分:0)
如果您经常致电SearchRecord
,可以将String [] data
作为属性。这会导致您的方法的版本更小:
public boolean SearchRecord(String rec, int pos )
{
rec = rec.substring(0, pos).trim();
for ( int i = 0 ; i < this.data.length ; i++ )
{
String comp = this.data[i].substring(0, pos);
if ( rec.equals(comp.trim()) )
{
return true;
}
}
return false;
}