[python] využití warnings v mysqldb
Leos Pol
leos na radiante-corp.com
Středa Srpen 15 10:48:33 CEST 2007
Myslim, ze by mohlo pomoci tohle:
import MySQLdb
con = MySQLdb.connect('localhost', 'root', 'xxxx', 'test')
cur = con.cursor()
# _defer_warnings ver. >= 1.2.2
cur._defer_warnings = True
cur.execute('drop table if exists whatever')
print con.show_warnings()
cur.close()
con.close()
Leo
PS: jeste je moznost nechat _defer_warnings = False a pak je mozne cist
vyjimky z cur.messages
Vladislav Ludík wrote:
> Když zadám chybnou hodnotu pro zápis do databáze, v Linuxu vidím
> hlášení Warning.
>
> Například jsem zadal hodnotu místo čísla text:
>
> /43: Warning: Rows matched: 1 Changed: 0 Warnings: 1/
>
> Potřebuji varování nějak zpracovat. V modulu _mysql_exceptions se však
> výjimky na závěr mažou a zůstává jen Warnings.
>
> Takže když jsem zkoušel například:
>
> / def sql(self,SQL):
> 'Vykoná SQL'
>
> self.SQL = SQL
>
> import MySQLdb, _mysql_exceptions
>
> db = MySQLdb.connect(host=self.host,
> user=self.user,
> passwd=self.passwd,
> db=self.db)
> kurzor = db.cursor()
> try:
> kurzor.execute(self.SQL)
> except _mysql_exceptions.Warning, msg:
> return 'Mysql Warning: %s' % msg
> return
>
> /
> Zápis chybné hodnoty neproběhne, ale výjimka nevznikne.
>
> Potřebuju pomoc, neví někdo, jak na to?
>
> Díky
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
--
----
Leos Pol
Team Leader
Radiante Corp.
If it can be imagined,
we can implement it
Další informace o konferenci Python