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

これは、最初にすべてのレコードを取得し、それを走査してレコードを検索します。しかし、何千ものレコードがあり、基準に基づいていくつか必要です。この問題を解決する方法はありますか? 何千ものレコードをトラバースして 10 個のレコードを取得したくありません。

LWUITの方が優れているか、JSRの方が実装しやすいというUI部分について私が混乱しているもう1つのことはありますか?

4

2 に答える 2

2

あなたが質問で話しているコードは私の答えからの方法です。私はこのコードを検索目的でのみ約1年前に開発しました。RMSの基本は、フラットファイルの構造化バージョンです。RMSでクエリを実行することはできません。RMSからレコードを検索するための組み込みの方法はありません。これが、多くのr&diが上記のコードを開発した後の理由です。

于 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 に答える