c++ - MySQL C++ 不读取结果
问题描述
我正在尝试使用 8.0.13 MySQL C++ 连接器从数据库中读取数据。我能够成功写入数据库没有问题,但是当我尝试获取数据库的结果(使用下一个结果)时,它永远不会运行。
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 循环永远不会运行,我不知道为什么会发生这种情况,因为它似乎适用于很多其他人。我已经在连接器库中包含了所有库和头文件,但没有帮助。
在 phpmyadmin 中使用 SQL Query 函数可以正确显示输出,所以这不是查询的错。
如果有人可以在这里给我一些帮助,我将不胜感激,如果您有任何问题或需要更多我的代码,请提出。非常感谢您的帮助!
解决方案
我不确定如何,但只是在查询和 while 循环之间添加一个cout语句后,它突然自行解决了。我删除了cout,现在它完全没有问题了。不知道是什么导致了这个错误,但我很高兴在我尝试修复它一段时间后它自行解决了!
推荐阅读
- python - 有没有办法使用参数运行!Colab 中的命令?
- excel - 在 Excel 中输入某个值时如何自动填充数据?
- python - 网页抓取/Beautifulsoup/有时无回报?
- c++ - 我的代码中是否存在内存泄漏?用 valgrind 检查
- excel - 使用单独的库存和发行表在谷歌表中维护库存表
- php - 在 PHP Navbar 中添加下拉菜单
- android - 构建一个非常简单的移动应用程序(没有移动开发经验)
- routing - 在 Sapper 中作为模态路由
- kotlin - 将多个 Kotlin 流合并到一个列表中,而无需等待第一个值
- postgresql - Postgresql 触发器行为怪异