2

我正在使用 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;
    }

这是首先获取所有记录并遍历它以搜索记录。但是我有数千条记录,我只需要一些基于标准的记录有什么办法可以解决这个问题吗?我不想遍历数千条记录来获得十条记录。

我对 LWUIT 更好或 JSR 更好实现的 UI 部分感到困惑的另一件事?

4

2 回答 2

2

您在问题中所说的代码是我的回答中的方法。大约一年前,我开发了这段代码,仅用于搜索目的。RMS 的基础是平面文件的结构化版本。您不能在 RMS 上触发查询。没有用于从 RMS 搜索记录的内置方法。这也是经过多次研发开发上述代码的原因。

于 2012-08-13T15:19:39.663 回答
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;
}
于 2012-08-13T11:45:49.500 回答