高分求救,在线等,关于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 展开
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 展开
2个回答
展开全部
Hashtable ht = (Hashtable)showlist.get(0);
这里返回的是ResultSet类型的对象,不能强制转换成Hashtable类型,你要先遍历这个ResultSet,获得你想要的数据并存入Hashtable,类似下面 这样
while(showlist.next()){
Sting username = showlist.get(0);
ht.put("username", username);
}
这里返回的是ResultSet类型的对象,不能强制转换成Hashtable类型,你要先遍历这个ResultSet,获得你想要的数据并存入Hashtable,类似下面 这样
while(showlist.next()){
Sting username = showlist.get(0);
ht.put("username", username);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询