java 如何将SQL结果集添加到数组里?

publicArrayListgetElement()throwsException{Connectionconn=ConnUtil.getConn();Prepared... public ArrayList getElement() throws Exception { Connection conn = ConnUtil.getConn(); PreparedStatement pstmt = conn.prepareStatement("select * from t_user where GID=? and UID=?"); pstmt.setString(1,"GID"); pstmt.setString(2,"UID"); ResultSet rs = pstmt.executeQuery(); if(rs.next()) { } }
我想把结果集放入一个数组里,怎么做?另外,我上面的代码是不是有问题?
展开
 我来答
汐日南莘
推荐于2018-02-27 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.6万
采纳率:45%
帮助的人:7522万
展开全部
假设mysql中test数据库中有个表式score,有数据,我只取第一列的数据出来:
public void mysqlConnection(){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();//数据库驱动
String url = "jdbc:mysql://localhost:3306/test";//数据库链接地址
String user = "root";//用户名
String password = "";//密码
Connection conn = DriverManager.getConnection(url, user, password);//建立connection
Statement stmt = conn.createStatement();
conn.setAutoCommit(false);// 更改jdbc事务的默认提交方式

String sql = "select * from score";//查询语句
ResultSet rs = stmt.executeQuery(sql);//得到结果集
conn.commit();//事务提交
conn.setAutoCommit(true);// 更改jdbc事务的默认提交方式
List<String> list=new ArrayList<String>();//创建取结果的列表,之所以使用列表,不用数组,因为现在还不知道结果有多少,不能确定数组长度,所有先用list接收,然后转为数组
while (rs.next()) {//如果有数据,取第一列添加如list
list.add(rs.getString(1));
}
if(list != null && list.size()>0){//如果list中存入了数据,转化为数组
String[] arr=new String[list.size()];//创建一个和list长度一样的数组
for(int i=0;i<list.size();i++){
arr[i]=list.get(i);//数组赋值了。
}
//输出数组
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
礼佛0Iu1ef
2013-12-19
知道答主
回答量:22
采纳率:0%
帮助的人:14.4万
展开全部
应该是while(rs.next()){}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kak520
推荐于2017-11-26 · TA获得超过687个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:441万
展开全部
if(rs.next()) { } }
改成
List<object[]> obj = new Arraylist<Object[]);
while(rs.next()){
Object[] ob = new Object[size];
ob[0]=rs.getInt(1);
.........
obj.add(ob);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式