Я пытаюсь прочитать данные из базы данных, используя 8.0.13 MySQL C ++ Connector. Я не могу успешно записать в базу данных без проблем, но когда я пытаюсь получить результаты базы данных (используя следующий результат), она никогда не запускается.
bool outPutBool;
string outPut;
try {
sql::Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
sql::ResultSet *res;
string test = getTest();
/* Create a connection */
driver = get_driver_instance();
con = driver->connect("tcp://ip:port", "root", "password");
/* Connect to the MySQL test database */
con->setSchema("database name");
stmt = con->createStatement();
res = stmt->executeQuery("SELECT `column name` FROM `table name` WHERE `test column` = '" + variable + "'"); //Variable is defined in the function input
while (res->next()) {
outPut = res->getString(1);
cout << outPut << endl;
cout << "Test\n"; //never runs
}
delete res;
delete stmt;
delete con;
}
catch (sql::SQLException &e) {
cout << "# ERR: SQLException in " << __FILE__;
cout << "(" << __FUNCTION__ << ") on line " << __LINE__ << endl;
cout << "# ERR: " << e.what();
cout << " (MySQL error code: " << e.getErrorCode();
cout << ", SQLState: " << e.getSQLState() << " )" << endl;
}
Sleep(10000); //Temporary delay so I can see if anything comes up before it runs another function
if (test != outPut)
doSomething();
else
doSomethingElse();
Цикл while никогда не запускается, и я не понимаю, почему это происходит, поскольку, похоже, это работает для многих других людей. Я включил все библиотеки и заголовки в библиотеку соединителей, но не помогу.
Использование функции SQL Query в phpmyadmin правильно отображает вывод, поэтому это не ошибка запроса.
Я был бы очень признателен, если бы кто-нибудь мог мне здесь помочь, и если у вас есть какие-либо вопросы или вам нужно больше моего кода, просто спросите. Большое спасибо за помощь!