alexwolf01 2013-09-22 08:33 采纳率: 0%
浏览 870

两段代码,代码2无法调用代码1

代码1:

public ArrayList queryBalance(String income) {
ArrayList al=new ArrayList();
DBUtil db=new DBUtil();
try {
java.sql.Connection con=db.getConnection();
String sql="select * from balance where income=?";
java.sql.PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, income);

        java.sql.ResultSet rs=ps.executeQuery();
        Bean gb=new Bean();

        while(rs.next()) {
            gb.setMItem(rs.getString(2));
            if(Integer.parseInt(rs.getString(2))==0) {
                gb.setMIncome("支出");
            }
            else if(Integer.parseInt(rs.getString(2))==1){
                gb.setMIncome("收入");
            }

            gb.setMMoney(rs.getDouble(3));
            gb.setMName(rs.getString(4));
            gb.setMId(rs.getString(5));
            gb.setMTime(rs.getString(6));
            al.add(gb.toString());
        }
        db.close(ps, rs, con);
    }

    catch(java.sql.SQLException sqle) {
         sqle.printStackTrace();
    }
    return al;
}

}

代码2:
ArrayList al = new ArrayList();
al = dao.queryBalance(income);
txaInner.setText(al.toString());

taxInner是我定义的一个文本框(JTextArea),想把代码1 SQL操作之后得到的数据调入文本框中,但是没反应.这是一个个人财务管理系统的代码,想把数据库中存入的财务信息调入文本框中显示,文本框在界面中.

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-16 13:11
    关注

    该回答引用ChatGPT

    代码1中的queryBalance方法是用来查询数据库中某个收支类型的所有财务记录,并将记录封装成Bean对象加入到ArrayList中返回的。代码2中的al变量是用来存放queryBalance方法返回的ArrayList对象的,然后将其转化成String类型后显示在文本框中。


    根据提供的代码,有以下可能出现问题的地方:

    • dao对象没有被正确创建和初始化,导致调用其方法时出现NullPointerException错误。
    • income变量没有被正确赋值或者其值不符合预期,导致查询数据库时出现错误或返回结果为空。
    • txaInner文本框没有正确显示文本内容,可能是其大小设置不正确或者设置了不允许修改文本的属性。

    解决方案:

    • 确认dao对象已被正确创建并调用了getConnection方法获取数据库连接,可以在代码2前添加以下语句进行调试:
      dao = new DAO();
      if(dao == null) {
        System.out.println("dao is null");
      } else {
        System.out.println("dao is not null");
      }
      System.out.println("connection is " + dao.getConnection());
      
    • 确认income变量已被正确赋值并符合查询条件,在调试时可以输出income变量的值,检查是否与预期一致。
    • 确认文本框的大小设置和属性设置是否正确,可以将其属性设置为可修改,再将文本框内容输出到控制台,检查是否正确获取了查询结果:
      txaInner.setEditable(true);
      System.out.println("result is " + al.toString());
      txaInner.setText(al.toString());
      
    评论

报告相同问题?

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制