高分求救,在线等,关于arraylist转hashtable的问题

<%ArrayListshowlist=null;Stringname="userid";//request.getParameter("user");if(name!=... <%
ArrayList showlist=null;
String name="userid";
//request.getParameter("user");

if(name!=null)
{
dbconn conn= new dbconn();
conn.DBconn();
System.out.println(name);
showlist=conn.executeQuery("select * from userinfo where userid=1");
Hashtable ht = (Hashtable)showlist.get(0);
conn.destory();
if(ht==null){
System.out.println("not available");
}
else{
System.out.println("dfsf");
}
String s="123";
System.out.println(s);
System.out.println(ht.get("userid").toString());

}
else{

}
%>

这是jsp里面的scriptlet的code。其他的都没什么地方有错,就是在
Hashtable ht = (Hashtable)showlist.get(0);
的时候出现http500的错误,各位牛人快来帮帮忙啊,我已经为这个问题扯了2天了啊~~~
public ArrayList<Hashtable<String, Object>> executeQuery(String sql){
try{
al=new ArrayList<Hashtable<String, Object>>();
stat=conn.createStatement();
rs=stat.executeQuery(sql);
meta=rs.getMetaData();
int colCount=meta.getColumnCount();

while(rs.next()){
ht=new Hashtable<String, Object>();
for(int i=1;i<=colCount;i++){
ht.put(meta.getColumnLabel(i),rs.getObject(i));
}

al.add(ht);
}
}

catch(SQLException ex){
System.out.println("Requesting error"+ ex.getMessage());
}
return al;
}

这是excutequery的方法,返回的是一个arraylist, 方法里面al是arraylist,rs是resultset
展开
 我来答
百度网友37c3540
2009-12-04 · TA获得超过175个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:108万
展开全部
executeQuery方法返回的是ResultSet类型的
你怎么直接就给了ArrayList变量?
管用ArrayList就可以 你怎么还用HashTable干嘛?
不明白
cxzucc
2009-12-04 · TA获得超过1317个赞
知道小有建树答主
回答量:1735
采纳率:79%
帮助的人:585万
展开全部
Hashtable ht = (Hashtable)showlist.get(0);
这里返回的是ResultSet类型的对象,不能强制转换成Hashtable类型,你要先遍历这个ResultSet,获得你想要的数据并存入Hashtable,类似下面 这样
while(showlist.next()){
Sting username = showlist.get(0);
ht.put("username", username);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式