Petr Vanek napsal(a):
Dobrý den, začínám s sqllite a potřebuji zjisti jestli určitý
záznam
existuje DB nebo ne
zatím to řeším takto, ale chtěl jsem se zeptat jestli by to šlo i
nějak
jinak (jednodušeji, elegantněji ....)
cur.execute('SELECT * FROM soubory WHERE jmeno="test.txt"')
if len(cur.fetchall()) == 0:
print "zaznam nexistuje"
else:
print "zaznam existuje"
Je to boj. Sqlite je "jednoducha" DB. Takze nektere veci z python db
API tak nejak podporuje-nepodporuje.
viz prave "rowcount" na:
http://docs.python.org/lib/sqlite3-Cursor-Objects.html
takze len() se pouzit da. Otazkou ale zustava, proc na elementarni
zjisteni poctu zaznamy vyhovujicich dane podmince pouzivas projekci "*"?
Proc nepouzijes count() (pres sikovny index), a pak jen porovnas jedinou
vyslednou hodnotu na == 0? Netahal bys hromadu dat a nemusel bys pocitat
len().
petr
P.S.: neodpustim si poznamku, ze v PyQt4.QtSql.* "affected rows" samozrejme
funguje ;)
děkuju moc mě to pomohlo, protože se učím i SQL
Pavel
|
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python