Mój kod:MySQL Query wykonuje ale rzuca wyjątek
try {
sql::Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
/* Create a connection */
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "123456");
stmt = con->createStatement();
stmt->executeQuery("CREATE USER 'user22'");
delete stmt;
delete con;
} catch (sql::SQLException &e) {
cout << "# ERR: " << e.what();
cout << " (MySQL error code: " << e.getErrorCode();
cout << ", SQLState: " << e.getSQLState() << ")" << endl;
}
Tworzy user22 ale także generuje (pusty?) Wyjątek:
# ERR: (MySQL error code: 0, SQLState: 00000)
oczywiście ponowne wykonanie skutkuje prawidłowym wyjątkiem :
# ERR: Operation CREATE USER failed for 'user22'@'%' (MySQL error code: 1396, SQLState: HY000)
Komentując wyniki w linii executeQuery
bez wyjątków (wyjście puste) Czy to powszechne? Czy powinienem to zignorować?
Czy używasz najnowszego sterownika? Przeszukałeś fora MySQL? –
To wygląda na duplikat http://stackoverflow.com/q/5555328/310112 przynajmniej spróbuj opublikowanego tam rozwiązania i sprawdź, czy to działa. –
@Joel: Nie mam tego problemu. Mimo to spróbowałem Flush Privilages, to nie działa. – lalli