我在android中有以下代码:
protected void onPostExecute(ResultSet rsData)
{
try
{
int size=0;
while(rsData.next())
{
size++;
}
mlst = new String[size];
int i=0;
while(rsData.next())
{
String mid = rsData.getString(rsData.findColumn("mid"));
String uid = rsData.getString(rsData.findColumn("uid"));
String messages = rsData.getString(rsData.findColumn("message"));
String read=rsData.getString(rsData.findColumn("rstamp"));
mdb.addMessage(new Contact(mid, uid, messages, read));
mlst[i]=mid;
i++;
}
con.UpdateMessage(mlst);
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
在此,我在每一行都保留了调试器。
我发现在第一个 while 循环中,大小的值变为 7。
表示 rsData ResultSet 中有 7 行。
但是一旦进入第二个while循环,它就突然不进入while循环,控制直接进入:con.UpdateMessage(mlst);
我无法理解为什么会这样?
如果结果集中有 7 行,那么它应该输入 7 次,但它不会输入一次。
请帮我。