проблема, связанная со значением ResultSet в Eclipse Rcp - PullRequest
1 голос
/ 18 июня 2011

Мой ResultSet Query равен

StrQry = "select SUM(isnull(prn_amount,0))as prn_amount,SUM(isnull(adv_prn,0))as adv_prn, SUM(isnull(prv_prn,0))as prv_prn from loan_transaction_mcg where loan_id='1117'";

Он дает результат как на Sql

  1. prn_amount = NULL
  2. adv_prn = NULL
  3. prv_prn = NULL

, когда идентификатор кредита = 1117

ResultSet RsPrincipalDetail = getPaidDetail(loan_id);

        while(RsPrincipalDetail.next()){

        prn1 = RsPrincipalDetail.getString("prn_amount");
        prn2 = RsPrincipalDetail.getString("adv_prn");
        prn3 = RsPrincipalDetail.getString("prv_prn");
        if(prn1.equals("")){
            prn1.equals("0");               
        }
        if(prn2.equalsIgnoreCase("")){
            prn2.equals("0");               
        }
        if(prn3.equalsIgnoreCase("")){
            prn3.equals("0");               
        }

Я пытался выставить prn1.equals (null), но все равно nullисключение указателя приходит.Я пытался в режиме отладки на prn1 , он показывает как ноль в качестве значения.

Ответы [ 2 ]

0 голосов
/ 18 июня 2011

Проблема здесь в том, что поскольку ваши значения в базе данных равны NULL, когда вы преобразуете их в значения Java, используя getString, они также будут нулевыми.

Так как null не совпадает с пустой строкой, вы не можете использовать prn.equals ("")

Также использование prn.equals (null) является плохой идеей, так как обычно реализуется метод, равный равенству ... он вернет false, если что-то, с чем он сравнивается, является нулевым

Лучше всего использовать оператор равенства для проверки на ноль

if (prn == null)

0 голосов
/ 18 июня 2011

Каковы имена столбцов таблицы?

Для меня это может быть циклическим:

SUM(isnull(prn_amount,0))as prn_amount

и, кажется, group by отсутствует в вашем заявлении на loan_id

...