如果存在两个以上的记录,则从数据库获取数据

时间:2013-01-28 10:16:57

标签: java android database servlets resultset

我正在开发一个应用程序,在其中我从数据库中选择名称的rcode(数字)。如果名称存在,它将显示与其关联的rcode。输出如

10001 

假设,如果两个名称同名,则显示为

10001 10002

这是我的servlet代码..

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应用程序中使用以下代码从中获取数据。那就是我需要选择像rname =“”这样的所有数据。现在问题是如果存在两个具有相同名称的记录,它将仅拾取一个记录。但是servlet输出显示为

10001 10002

在我的应用程序中,我计算记录总数并显示它。但它只显示了一个

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

因此,我需要访问这两个记录并计算总记录数。任何人都可以帮忙做到这一点

3 个答案:

答案 0 :(得分:0)

out.println(rcode)添加了一个CRLF(当您使用浏览器查看输出时会被忽略)。如果用空格字符替换它会发生什么?

out.print(rcode);
out.print(" ");

答案 1 :(得分:0)

使用list显示记录并添加一个计数器....,列表参考http://www.vogella.com/articles/AndroidSQLite/article.html

答案 2 :(得分:0)

我无法理解为什么你在if语句中写这个。你不需要写那个语句,因为用户名总是等于get。删除该语句并尝试再次运行它。