[Megoldva] Qt4 MySQL ErrorType

 ( molibden | 2008. október 20., hétfő - 17:51 )

A QSqlError osztálynak van egy ErrorType enumja, ami megmondja, hogy milyen típusú volt a bekövetkezett hiba. Na ezt én most használnám a kódomban, de fura dolgot tapasztaltam.

Adatbázis kapcsolatom OK, meg van nyitva. Futtatok egy queryt, OK. Most leállítom az sql szervert, majd megint futtatok egy queryt. A lastError().text() jónak tűnik [mysql has gone away, cannot execute query...], de az ErrorType az nem ConnectionError, hanem StatementError. Amúgy nyilván nem szintaktikai a hiba, mert a query az OK (select 1), no meg hát ha nincs sql szerver a túloldalon, akkor ki validálta volna a querymet?

Valaki tapasztalt már ilyet?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Szerintem az ugy van, hogy a conn.open() (mittomen, hogy nez ki ez Qt alatt) ad ConnectionError-t, a conn.executeQuery(sql) meg StatementError-t (ez is pszeudokod volt).

Amugy meg nagy Q kis t, egyszer-ketszer mar ram szoltak, a QT az a QuickTime.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Én is kipróbáltam most ezt, csatlakozás, query, mysql lekapcs, query. Nálam a query.lastError().type() mindvégig változatlanul 0 (no error).

Erről az SQL driver modul intézkedik elvileg, gondolom te más SQL-t használsz és az legalább ad vissza valamit. Nálam még annyit se sajnos. Lehet hogy érett a dolog egy bugreportra... bele kéne túrni a driverbe, lehet hogy hiányos az implementáció.

Kösz a válaszokat.

Nálam is volt azóta ellenpróba windowson, és ott is a NoError volt a jellemző :(
Mindegy, átírom a kódot, hogy az ErrorType helyett a hibakód alapján döntsön...

Ja, és a QT -> Qt jogos :)