谁可以帮我解释一下这个代码,逐句,好的话可以加分

public List getAllTrain(){
String sql = "select distinct * from train order by id desc";
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=new ArrayList();
list2.add(rs.getString(1));
list2.add(rs.getString(2));
list2.add(rs.getString(3));
list2.add(rs.getString(4));
list2.add(rs.getString(5));
list2.add(rs.getString(6));
list2.add(rs.getString(7));list2.add(rs.getString(8));
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}

String 这一句是要对数据库执行的操作语句,
DBo 是实例化一个联接,对数据库的。
List 是一个保存返回数据的集合
rs 是一个结果集,你可以把它想像成一个表,结构与查询表相同。执行完Sql语句后把结果放在它里面。你应该是在前面定义它了。
如果(rs.next())结果集有下一条的话,把当前这一条记录转换成一个Java对象,保存在List集合里。
返回这个集合。return list;
如果出错,返回空 return null;
关闭联接 dbo.close();追问

那我打开的是哪个表啊,可以从上面的语句看出来吗,我有两个表,为什么我要查询时不能从我想的那个表里查出来

追答

train这个表是你查询的表,就是Sql语句里From后面的那个单词,它表示表名。
order by 表示按它后面的那个字段进行排序。
groud by 表示按它后面的那个字段进行分组。(词可能打错了,看着那么别扭)
你是不是打错字母了?为什么加了一个“ * ” ?它表示你要查询出所有字段,而在它前面你又加了一人应该是字段名吧distinct

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网