Hi all, I am using sqlite3 in python, and I wonder if there is a way to know if there are valid rows returned or not. For example I have a table song with one entry in it. The ID of that entry is 1, so when I do;
>>> r = c.execute('select * from song where id = 1') >>> for s in r: ... print s ... (1, u'Spikedrivers Blues', u'Mississippi John Hurt') That works. But when I can't restore the row by e.g. an ID that does not exist, I cannot see any method in 'r' (which is a SQLite.Cursor) that can tell me if I have rows. As explained in the help, r.rowcount does not give a valid result because it can't determine how many rows are restored in advance. All I can think of is a 'crappy' construction where I use the iterator to see if there was something in there, but surely, there must be a better way to know? >>> r = c.execute('select * from song where id = 2') >>> notfound = True >>> for s in r: ... notfound = False ... print s >>> if notfound: ... print 'No rows' I am pretty new with Python, maybe there are some properties of an iterator / sqlite3 I am not aware of that can tell me how many rows are there? With regards, - Jorgen -- http://mail.python.org/mailman/listinfo/python-list