有两张表“合同基本信息表InfoHt”和“结算信息表InfoJs”
在xxht.jsp这个页面显示合同基本信息表中的合同编号、合同名称和结算信息表中的合同余额
我写的代码如下(intPage等十分页中用到的):
String strSQL = "select top "+intPage*10+" HNo,HName from InfoHt order by HID desc";//查询InfoDe表中前"+intPage*10+" 条记录按HID降序排列
ResultSet rs = sts.executeQuery(strSQL);
int i=0;
while(rs.next())
{
if(i >= (intPage-1)*PageNumbers && i < intPage*PageNumbers)
{
String HNo = rs.getString("HNo");
String HName = rs.getString("HName");
//当i循环时,分别对应i取相应的结算信息中的值
String strSQL2 = "select HtYe from InfoJs where HNo='"+HNo+"'";
ResultSet rs2 = sts.executeQuery(strSQL2);
String HtYe = rs2.getString("HtYe ");
%>
我知道是i循环内有问题,但是不知道该如何改,请指教!!!谢谢!!!

解决方案 »

  1.   

    楼主,
    String strSQL2 = "select HtYe from InfoJs where HNo='"+HNo+"'";
    ResultSet rs2 = sts.executeQuery(strSQL2);
    这个有问题吧?
    的写成
    PreparedStatement ps = null;
    String strSQL2 = "select HtYe from InfoJs where HNo=? "
    ps.setString(1, HNo);
    rs = ps.executeQuery();
    if (rs != null && rs.next()) {
      你的代码;
    }
      

  2.   

    if (rs != null && rs.next()) {
      ……;
    }
    如果if条件不成立的话(也就是rs为null时),我写的那部分代码岂不是不能实现了吗?
    请再详细一点好吗?
    谢谢!!