学习java6个月的新手写的jdbc sqlHelper但是有问题

bonlog 2013-03-31 10:49:51
	public static ArrayList<Map> executeQuery(String sql,String[] parameters){
ArrayList<Map> al=new ArrayList<Map>();
Map<String,String> myResult=new HashMap<String,String>();
try {
ResultSetMetaData rsmd = null;
ps=getConnection().prepareStatement(sql);

if(parameters !=null && !parameters.equals("")){
for(int i=0;i<parameters.length;i++){
ps.setString(i+1,parameters[i]);
}
}//if
rs=ps.executeQuery();
while(rs.next()){

rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
String[] colName = new String[count];
for (int i = 0; i < count; i++){
colName[i] = rsmd.getColumnLabel(i + 1);

myResult.put(rsmd.getColumnLabel(i + 1),(String) rs.getString(colName[i]));
}
al.add(myResult);
}//while
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
close(rs,ps,ct);
}
return al;
}


大家发了,以上程序是一个java新手,学习6个月了。写的一个jdbc通常处理类
但是,在rs.next()中,只能取getString(),如果遇到 int要怎么办啊?还有,我换成了getObject()也不行的。你觉得怎么做才啊?
谢谢
...全文
25 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
asd12312k 2013-03-31
用rs.getInt()方法就可以取到int型的了
回复
小龙在线 2013-03-31
如果明确字段是int类型,就使用rs.getInt()方法 如果不明确是什么类型,使用rs.getObject()方法应该是可以的,然后在使用的时候转换成Integer,Object没法直接转换成int,通过Integer类型对象可以自动转换成int类型,或者调用Integer的API方法转成int也可以
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告