我的列族有两个主键
"CREATE TABLE compositkeys(user_name varchar," +
"user_id int,"+
"name varchar," +
"gender varchar," +
"PRIMARY KEY (user_name,user_id)" +
")";
我已经用Java创建了这个,现在我在一个user_name(sunil)primarykey上插入了6行,当我尝试检索sunil主键中的所有值时,它只给出了一个详细信息
String qry = "select * from compositkeys where user_name = 'sunil' order by user_id";
Statement smt = con.createStatement();
//smt.executeUpdate(qry);
ResultSet rs = smt.executeQuery(qry);
//rs.get
int r = rs.getRow();
System.out.println(r);
ResultSetMetaData rm = rs.getMetaData();
int columnCount = rm.getColumnCount();
System.out.println(columnCount);
for(int i=1;i<=columnCount;i++)
{
String name = rm.getColumnName(i);
System.out.print(rm.getColumnName(i));
System.out.println(" = "+rs.getString(name));
System.out.println("--------------------------------------------------");
}
它只给我一个输出。查询中有什么问题吗?我想要关键sunil下的所有数据。
答案 0 :(得分:0)
您有一个循环遍历返回行中的列,但您只需要一行(这是rs.getRow()方法)。您应该将rs.getRow()调用和以下逻辑写入将外部循环写入外循环,只要getRow()不返回null。这个out循环将检索所有用户的id。