使用MySQL连接器C++,如果要修改数据库(插入、更新、删除、合并),可以使用sql::Statement::execute()函数,如果要执行简单的只读查询,则可以使用sql::Statement::executeQuery()函数。
如果我不知道查询中有什么内容,我如何选择做什么呢?
目前,我只是检查查询字符串中是否存在插入、更新、删除或合并令牌。但这并不是一个完美的方法。
还有别的方法吗?
当我使用MySQL ()修改DB时,应该忽略executeQuery返回的警告消息吗?
谢谢。
发布于 2012-09-19 19:47:57
每个执行调用都根据它们的精确用法以不同的方式进行优化--例如,executeUpdate方法是按照它的方式进行优化的,因为它希望您不从调用中返回结果集。你应该选择最适合你需要的。下面是连接器C++引用中的内容:
如果事先不知道SQL语句是SELECT还是INSERT、UPDATE或DELETE,请使用execute方法。如果SQL查询是SELECT,execute()返回true,如果语句是INSERT、UPDATE或DELETE,则返回false。如果语句是SELECT查询,则可以通过调用语句实例上的getResultSet方法来检索结果。如果该语句是INSERT、UPDATE或DELETE语句,则可以通过调用getUpdateCount()检索受影响行的计数。
我提到的那篇文章可以在这里找到:
http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html
希望这能帮到你。
https://dba.stackexchange.com/questions/24542
复制相似问题