日期:2014-05-20  浏览次数:20724 次

关于java问题
//根据用户的id查询中用户办理的业务
@Override
public ArrayList get(int t_id)
{

ArrayList list=new ArrayList();
String sql = "select servername from managerserver mana," +
"User_Serviced us where "
+ "mana.SERVICEID = us.SERVICEID and userid = ?";
try
{
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, t_id);
ResultSet rs = ps.executeQuery();
while(rs.next()){
String [] r = {rs.getString(1)};
list.add(r);
}
rs.close();
ps.close();
conn.close();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}

这是我从数据库中获得用户办理的业务加到list中,然后下面程序是将list内容加到JComboBox,请问为什么显示是字符串..应该怎么修改?


ArrayList al=new MangDao().select();

for(int i=0;i<al.size();i++){
Object[] obj=(Object[])al.get(i);
comboBox1.addItem(obj);
}




------解决方案--------------------
可以这样改
while(rs.next()){
 //String [] r = {rs.getString(1)};
这里创建一个对象,然后通过set方法放进去。然后把对象放入list

 list.add(对象);
 }

for(int i=0;i<al.size();i++){
// Object[] obj=(Object[])al.get(i);
这里创建一个对象 
如:
 类名 对象名=(类名)al.get(i);
 String kk=对象名.get方法

 comboBox1.addItem(kk);
 }