我正在使用 VisualStudio 12 开发一个应用程序。在那个应用程序中我需要做一些 mySql 调用,我有那个代码:
sql::Statement *stmt = db->global->createStatement();
sql::ResultSet *res = stmt->executeQuery("SELECT * FROM `tbl_jobs` WHERE name = 'maintenance';");
Server->maintenance = (res->getString("data") == "on")? true : false;
查询没问题,在 Navicat 上运行良好,但在:
res->getString("data")
曾经抛出那个错误:
... 处未处理的异常:Microsoft C++ 异常:内存位置处的 sql::InvalidArgumentException ....
如果我完成 sql::SQlException throw 我得到这个日志:
错误:SQLException in .... 函数:第 33 行的主错误:MySQL_ResultSet::getString:无法获取,因为不在结果集上(MySql 错误代码:1544116026,SqlState:MySQL_ResultSet::getString:无法获取,因为没有在结果集上)
我了解 sql::ResultSet 没有任何数据,但如果我打印 res->rowsCount() 说我是 1 行...我尝试使用 res->first(),但会引发随机错误。
有任何想法吗?:C