1

データベースから rcode(numbers) を名前で選択するアプリケーションを開発しています。名前が存在する場合は、それに関連付けられた rcode が表示されます。のような出力

10001 

同じ名前の名前が 2 つ存在する場合、次のように表示されるとします。

10001 10002

これが私のサーブレットコードです..

ResultSet rs=stmt.executeQuery("select * from newfarmer where rname='"+get+"'");
while(rs.next()){
    username=rs.getString("rname");

    if(get.equals(username)){
        rcode=rs.getString("rcode");
        out.println(rcode);
    }
}

そして、Android アプリケーションで次のコードを使用して、そこからデータを取得しています。つまり、where rname=" " のようなすべてのデータを選択する必要があります。問題は、同じ名前のレコードが 2 つ存在する場合、1 つのレコードのみをピックアップすることです。しかし、サーブレットの出力は次のように表示されます

10001 10002

私のアプリケーションでは、レコードの総数を数えて表示します。しかし、それは1つだけを示しています

String line = null;
while ((line = reader.readLine()) != null) {
    StringTokenizer st=new StringTokenizer(line);
    count=st.countTokens();
    Toast.makeText(getBaseContext(), count+" names found", 
            Toast.LENGTH_SHORT).show();
    r_code=st.nextToken();
    ff=1;
}

したがって、両方のレコードにアクセスし、合計レコード数をカウントする必要があります。誰でもこれを行うのを手伝ってもらえますか

4

3 に答える 3

0

リストを使用してレコードを表示し、1つのカウンターを追加します....、リストについては、http://www.vogella.com/articles/AndroidSQLite/article.htmlを参照してください。

于 2013-01-28T10:31:47.383 に答える
0

なぜあなたがif文の中にそれを書いているのか理解できません。ユーザー名は常に get と等しいため、そのステートメントを記述する必要はありません。そのステートメントを削除して、もう一度実行してみてください。

于 2013-01-28T10:42:49.650 に答える
0

out.println(rcode)CRLF を追加します (ブラウザで出力を見ると無視されます)。スペース文字に置き換えるとどうなりますか?

out.print(rcode);
out.print(" ");
于 2013-01-28T10:29:55.277 に答える