× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



>The TYPES of bugs incurred with ITER and LEAVE are more subtle than I want
to deal with.

My professor in college that taught C was the same way your are.  He would
rather have 10 IF statements within a loop to make sure code didn't get
executed rather than do a BREAK/LEAVE.  That made for some ugly code on his
part.

Since we are about ready for a show down of code, I will start posting some
examples (sorry, I am currently working in Java, but you will get the
point). . .

The first IF statement below will check to see if I want to include this
record as part of my results.  If I don't, it will just get the next record
from the ResultSet.  I am curious as to how you would code this without
using the CONTINUE keyword


        while (rs.next()) {

                if (isNonStoreAccnt(rs.getInt("CORPCONS"),
rs.getInt("STORE"))) {
                        continue;
                }

                if (firstTime == 'Y') {
              ...code...
                        firstTime = 'N';
                }

                if (rs.getInt("CORPCONS") != savCorpCons) {

               ...code...
                }

                if (rs.getInt("DIV") != savDiv
                        || rs.getInt("SUBDIV") != savSubDiv
                        || rs.getInt("PRDDIV") != savPrdDiv
                        || rs.getInt("PRDSUBDIV") != savPrdSubDiv) {
               ...code...
                }


        } // End While Loop


Here is how my professor would have coded it:

        while (rs.next()) {

                if (isNonStoreAccnt(rs.getInt("CORPCONS"),
rs.getInt("STORE"))) {
                        continue;
                }

                if (firstTime == 'Y' &&
isNonStoreAccnt(rs.getInt("CORPCONS"), rs.getInt("STORE")) != true) {
              ...code...
                        firstTime = 'N';
                }

                if ((rs.getInt("CORPCONS") != savCorpCons) &&
                 isNonStoreAccnt(rs.getInt("CORPCONS"), rs.getInt("STORE"))
!= true) {

               ...code...
                }

                if ((rs.getInt("DIV") != savDiv
                        || rs.getInt("SUBDIV") != savSubDiv
                        || rs.getInt("PRDDIV") != savPrdDiv
                        || rs.getInt("PRDSUBDIV") != savPrdSubDiv) &&
                  isNonStoreAccnt(rs.getInt("CORPCONS"), rs.getInt("STORE"))
!= true) {
               ...code...
                }


        } // End While Loop

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.