jdbc ResultSet 结果集 怎么处理

假设有一个表:student(namevarchar2(10),sexchar(2),agenumber(3)).写程序的时候不知道Student表中的每列是什么类型,如... 假设有一个表:student(name varchar2(10),sex char(2),age number(3)).
写程序的时候不知道Student表中的每列是什么类型,如何用ResultSet 中的getXXX()方法,获取数据。
ResultSet中的getMetaDate()方法怎么使用
请尽可能详细讲解,若有实例更好
用getString(index)能搞定所有的吗
展开
 我来答
山雨城
2010-10-30 · TA获得超过114个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:77.2万
展开全部
ResultSet结果集的getXXX()方法可以直接用getXXX(index)获取里面的数据,不过要按照顺序和类型分开,例如如果数据库表属性是int行那么用getInt(index)直接获取,如果是varchar或char或varchar2(oracle中)可以用getString(index)来获取对应列的值。
还有一种方式是getXXX(属性名),例如你的name属性可以直接用getString("name")来获取值;
在提示一下,在ResultSet结果集使用的时候,应该先调用一下first();或next()方法。来确保指针指向第一行。
不知道对你有帮助没有,至于getMetaDate();我没用过,请楼下解释。

参考资料: http://wenku.baidu.com/view/ef2d7e126edb6f1aff001f1a.html

zpsailor
2010-10-31 · TA获得超过2018个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:692万
展开全部
使用getString()是可以搞定你上面的所有类型的,不过读出来的是String类型的,你要转换成其他类型。如果你是想读取age,最好使用getInt();这样。

建议你多看jdk文档,搞程序的人要学会看文档啊,很多类的使用通过看文档就行了,文档讲得最清楚。

希望我的回答对你有所帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gfap26
2010-11-01 · TA获得超过313个赞
知道小有建树答主
回答量:520
采纳率:100%
帮助的人:245万
展开全部
在JDK1.1中,ResultSet类中只定义了next()方法支持数据指针的下移.但在Java 2中,ResultSet类增加了如下方法支持数据指针的移动,包括:

ResultSet.first():将数据指针移到结果集的第一行

ResultSet.last(): 将数据指针移到结果集的最后一行

ResultSet.previous(): 将数据指针上移一行

以上的方法定义在JDBC2.0的规范中,所有支持JDBC 2.0的JDBC驱动程序都可以支持上述方法.目前Intersolv和OpenLink等JDBC驱动程序厂商均有产品支持JDBC 2.0
请参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b3bbd4c657
2017-02-09 · TA获得超过455个赞
知道小有建树答主
回答量:409
采纳率:0%
帮助的人:147万
展开全部
/**
*
* @param conn 数据库连接对象
* @param t 任意类型的bean
* @return List<bean>
* @throws SQLException SQL异常
*/
public static <T> List<T> getList(Connection conn,T t) throws SQLException{
QueryRunner qr=new QueryRunner();
String sql="select * from "+t.getClass().getSimpleName().toLowerCase();
List<T> list=qr.query(conn, sql, new BeanListHandler<T>((Class<T>) t.getClass()));
return list;
}
只要传入一个对象的实例,就可以获得这个对象的list,例如,程序中有Person类,数据库中有person表,person类和person表字段相对应,查询后就可以获得所有person
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海兰快车
2010-11-12
知道答主
回答量:90
采纳率:0%
帮助的人:35.5万
展开全部
这个问题搞定了吗?
你数据库里的表都有一张两对应的实体类:你在定义实体类的时候肯定区分了它的类型,所以你在使用ResultSet.get的时候就可以区分了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式