ok, this is what works: if x == (): sorry about the bad info. and what i ment to put was x[0] not x(0)
thanks for the tips its all good now shawn Steven D'Aprano wrote: > On Sun, 31 Jul 2005 08:40:26 -0700, nephish wrote: > > > Hey there, > > i have a simple database query that returns as a tuple the number of > > rows that the query selected. > > kinda like this > > > >>>> cursor.execute('select value from table where autoinc > 234') > >>>> x = cursor.fetchall() > >>>> print x > > > >>>> 21L > > 21L is not a tuple, it is a long integer. > > > ok, means 21 rows met the criteria of the query. but if there are none > > that match, > > like i do a > > > >>>> print x > >>>> 0L > > > > how do i encorporate that into an equation ? > > i have tried all kinds of stuff > > And did they work? If they didn't work, tell us the exact error message > you got. > > > > if x == 0L > > If x is a long integer, then that will work. Of just "if x == 0:" will > work too. > > > > if x(0) == None > > No. That means x is a function, and you are giving it an argument of 0, > and it returns None. > > > if x == None > > You said that your query returns a tuple, but then gave an example where > it returns a long int. None is not a tuple, nor a long int, so testing > either of those things against None will never be true. > > Did you try any of these things in the interactive interpreter? Python is > a great language for experimenting, because you can try this yourself: > > # run your setup code ... > # and then do some experimenting > cursor.execute('select value from table where autoinc > 99999999') > # or some value that will never happen > x = cursor.fetchall() > print x > > What do you get? > > > > anyway, what shoud i do to test if the result is empty? > > Long ints are never empty, but they can be zero: > > if x == 0: > print "no rows were found" > elif x == 1: > print "1 row was found" > else: > print "%d rows were found" % x > > Tuples can be empty: > > if len(x) == 0: > print "no rows were found" > > or if you prefer: > > if x == (): > print "no rows were found" > > > But the cleanest, most Pythonic way is just to do a truth-test: > > if x: > print "something was found" > else: > print "x is empty, false, blank, nothing..." > > > -- > Steven. -- http://mail.python.org/mailman/listinfo/python-list