【发布时间】:2011-02-13 15:56:24
【问题描述】:
我真的很困惑为什么这组代码只返回一个值。我在这里要做的是查询所有以主键为参数的*sense_num*(不是主键)。结果应该包含 2 个或更多 sense_num,因此在每个 sense_num 结果中,我尝试将每个元素存储在 int[] 数组中并分别返回 int 数组。例如,此查询的结果是 sense_num 172 和 173。它们都应该已经在数组中,但是当我测试调用函数时,它收到的是最后一个值,173。
我希望你能帮助我解决这个问题。谢谢!
public 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;
// object[0] 在我测试它时具有所有值,这就是为什么它只接受最后一个 //one... 如何获取或接收这两个值?
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;
}
【问题讨论】:
标签: java