关于ArrayList+Hashtable
已经从数据库中把数据取出来,放到了ResultSet里
通过Hashtable.pub()和ArrayList.add()挂在了ArrayList和Hashtable下
ArrayList里存的是多个Hashtable
问题是怎么取出来啊
for (int i =1;i<=ColumnCount;i++)
out.print(alist.get(i).get("DOCNO").toString());//alist是ArrayList
结果报错:
我也能理解为什么会报错了
public Object get(int index)返回的是一个Object
可我存进去的Hashtable怎么取出来啊
详细代码如下:
int t = -1;
ArrayList alist=new ArrayList();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int ColumnCount = rsmd.getColumnCount();
Hashtable htable =new Hashtable();
while(rs.next())
{
for (int i = 1; i <= ColumnCount; i++)
{
t=rsmd.getColumnType(i);
out.println("i="+i+",t="+t+"name="+rsmd.getColumnName(i));
if(t==12||t==1||t==3)
{
if(rs.getString(i)==null|| rs.getString(i).equals(""))
htable.put(rsmd.getColumnName(i),"");
else
{htable.put(rsmd.getColumnName(i),rs.getString(i));
/*out.println(htable.get(rsmd.getColumnName(i)).toString());*/}
}
else if(t==93)
{
htable.put(rsmd.getColumnName(i),rs.getDate(i).toString());
}
else if(t==2||t==4)
{
htable.put(rsmd.getColumnName(i),Integer.toString(rs.getInt(i)));
}
}
alist.add(htable);
}
out.print(alist.get(1).getClass().toString());
for(int i =1;i<=ColumnCount;i++)
out.print(alist.get(i).get("DOCNO").toString());