我真的很困惑,为什么只有一个值被这组代码返回。我在这里要做的是查询所有以主键为参数的* sense_num *(不是主键)。结果应该包含2个或更多的sense_num,所以在每个sense_num结果中,我尝试将每个元素存储在一个int []数组中,并分别返回int数组。例如,来自这个查询的结果是sense_num 172 & 173.它们都应该已经在阵列中,但是当我测试调用函数时,它收到的是最后一个值,即173.如何处理Java中的ResultSet并将其转换为int数组?
我希望你能帮忙我与此。谢谢!
公众诠释[] getAllSenseID(INT primeID){
int[] objects = {};
String qry = "SELECT sense_num FROM cebuano_sense WHERE id_num = '" + primeID + "'";
try {
DatabaseConn db = new DatabaseConn("cebuano_wsd");
db.connect();
db.query(qry);
ResultSet result = db.getResult();
ResultSetMetaData data = db.getData();
if (result.next() == true) {
java.sql.ResultSetMetaData rsmd = result.getMetaData();
int colNo = rsmd.getColumnCount();
result.beforeFirst();
int row = 0;
System.out.println(colNo + "::> Column Number");
while (result.next()) {
objects = new int[colNo + 1];
int i = 0;
//对象[0]拥有所有的值时,我测试了它,这就是为什么只接受最后一个// ...如何是否获得或接收这两个值?
while (i < colNo) {
objects[i] = result.getInt(colNo);
//print to test
System.out.println(objects.length + " >> Count of Objects");
System.out.println(i + " :: " + objects[i] + " >> result");
i++;
}
}
}
} catch (SQLException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return objects;
}
谢谢!它已经工作了,谢谢你的建议! :) – khryz88 2011-02-12 02:25:56