H.de.Wit@SFK.NL writes:
This should be terribly simple, but i just don't see how it should be. I have a python script, it handels the output of a SQL statement with a SELECT COUNT in it. It tests the case that the count is zero (and that there is no record in the SQLresult).
This is my idea how it should be: SQLresult=container.SQL_statement() if (not SQLresult): This part will never be entered. You should always get a single row. resultcount=0 else: resultcount=SQLres[0][0] return resultcount
This doesn't return a value if the resultcount is 0, nothing seem to happen during testing the python script. It works fine if the resultcount>0 Apparently, a caller of your method does something like:
if result: do something else: do nothing As "0" is a Python false value, nothing happens.
This however is a working script SQLresult=container.SQL_statement() if (not SQLresult): resultcount=0 print resultcount return printed else: resultcount=SQLres[0][0] return resultcount The "print" converted the "0" into the string "'0'" which is not a Python false value.
It is ugly, but it works. Is it possible to remove the print resultatcount and the return printed somehow? You can use:
return `resultcount` This, too, converts the integer into a string. Dieter