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

Odpovedet emailem