如何将数据库记录存入数组

guilin4 2009-07-23 11:06:19
有-表ta,有t1,t2,t3,t4四个字段,记录数很多,想把t1=1的记录都取出写入一个数组,具体多少条记录不知道。如何用一次查询全都搞定?
谢谢!!
...全文
342 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
guilin4 2009-07-23
  • 打赏
  • 举报
回复
上面这段代码有问题吗?没提示任何错误,但什么都没显示
guilin4 2009-07-23
  • 打赏
  • 举报
回复
try{
Context env = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (javax.sql.DataSource) env.lookup("jdbc/zli");
Connection conn=ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select t2,t3 from table where t1='1'");
int i=0;
String[][] Per = new String[rs.getRow()][];
while(rs.next()){
Per [i][i]=rs.getString("t2");
Per [i][i+1]=rs.getString("t3");
i++;
}
rs.close();
stmt.close();
conn.close();
}catch (SQLException e){
out.print(e);
}
ltfgood 2009-07-23
  • 打赏
  • 举报
回复
用ResultSet存放结果集不就得了。

DBConnect db = new DBConnect();
db.ConnectDB();
Statement sm = db.sm;

String sql = "select * from ta where t1 = 1";

ResultSet rs = db.sm.executeQuery(sql);

while(rs.next) {
...//根据类型,将结果取出,放到一个多维数组里
}
ZhaoHuiZiXin 2009-07-23
  • 打赏
  • 举报
回复
如果t1是integer 那么解决方案:

tastr[i][i] = String.valueOf(result.getInt(1));
guilin4 2009-07-23
  • 打赏
  • 举报
回复
如果字段类型不一致怎么办?比如,t1是integer,t2是varchar
ZhaoHuiZiXin 2009-07-23
  • 打赏
  • 举报
回复
sql = "select * from ta where t1 = 1";
存入数组必须满足一个条件: 4个字段的类型必须一致.
String[][] tastr = new String[res.getRow()][];
int i=0;
for(result.next()){
tastr[i][i] = result.getInt(1);
tastr[i][i+1] = result.getInt(2);
tastr[i][i+2] = result.getInt(3);
tastr[i][i+3] = result.getInt(4);
i++;
}
这样就可以把所有记录全部放入一个二维数组中.
guilin4 2009-07-23
  • 打赏
  • 举报
回复
一次把查询出来的数据存入多维数组
youjianbo_han_87 2009-07-23
  • 打赏
  • 举报
回复
一次查询全部搞定? 什么意思? 是一次将记录从DB查询出来,还是一次将记录写入数组?

select * from ta where t1=1

查询出来的 list.toArray 就变成数字啦
guilin4 2009-07-23
  • 打赏
  • 举报
回复
高手帮忙看看

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧