java beans sql 查询

shifenghu 2008-10-22 02:24:25
public static ArrayList<Accounts> getAccounts(String sql, Connection con) {
// sql = "SELECT ID,NUMBER,NAME FROM ACCOUNT";
// sql = "SELECT * FROM ACCOUNT";

ArrayList<Accounts> aList = new ArrayList<Accounts>();
ResultSet rs = null;
try {
rs = con.prepareStatement(sql).executeQuery();
while (rs.next()) {
Accounts a = new Accounts();
a.setId(rs.getInt("ID"));
a.setNumber(rs.getString("NUMBER"));
a.setName(rs.getString("NAME"));
try{
a.setFCA(rs.getString("FCA"));
}catch(Exception e){
a.setFCA(null);
}
try{
a.setSign(rs.getBoolean("SIGN"));
}catch(Exception e){
a.setSign(false);
}
try{
a.setCashFlow(rs.getBoolean("CASHFLOW"));
}catch(Exception e){
a.setCashFlow(false);
}
try{
a.setBal(rs.getBoolean("BAL"));
}catch(Exception e){
a.setBal(false);
}
aList.add(a);
}
} catch (SQLException ex) {
Logger.getLogger(Accounts.class.getName()).log(Level.SEVERE, null, ex);
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException ex) {
Logger.getLogger(Accounts.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

return aList;
}
以上的方法我想让我的所有查询该表的语句都能使用(无论多少列,只要是查询“ACCOUNT”表),比如“SELECT * FROM ACCOUNT”和“SELECT ID,NUMBER FROM ACCOUNT”都可以使用,
我上面的方法可以达到这样的效果,但是我同事说不能这么写,不知道为什么,如果真的不能这么写,那应该怎么写,请结合我的代码给个例子,谢谢
...全文
53 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shifenghu 2008-10-22
  • 打赏
  • 举报
回复
恩恩 同意 呵呵
你们有没有更好的方法,用来处理我那个问题?
谢谢了阿
shifenghu 2008-10-22
  • 打赏
  • 举报
回复
他说思想有问题:
表结构:
CREATE TABLE ofas_accounts (

ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

NUMBER VARCHAR(30) NOT NULL,

NAME VARCHAR(32) NOT NULL,

FCA TEXT ,

SIGN BOOLEAN NOT NULL DEFAULT false,

CASHFLOW BOOLEAN NOT NULL DEFAULT false,

BAL BOOLEAN NOT NULL DEFAULT false,

PRIMARY KEY (ID)

)

ENGINE = InnoDB;
类结构:
字段和表结构的字段一样,之是大小写不同
ZXEOC 2008-10-22
  • 打赏
  • 举报
回复
你的表结构和Account类结构是怎么样的?还有,你同事为什么说不能这么写

62,614

社区成员

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

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