我看过Stack Overflow的大量答案和问题,但它们都是针对旧版本的MySQL的。我也在互联网上寻找答案,并尝试了许多不同的方法都无济于事。所以问题是,我如何在MySQL查询中使用C变量。
例如:pstmt = con->prepareStatement("SELECT balance FROM accounts WHERE id = [C++ Var]");
其中[C++ Var]是C变量。我不确定在MySQL 8中使用MySQL 5中的旧方法是否是一个好主意。我认为最有效的方法是使用SET @var_name = data
方法,但我找不到任何方法在C中实现它。目前我使用的是MySQL/C Connector 8。0与司机谢谢你!
2条答案
按热度按时间sqxo8psd1#
我不明白为什么你需要在这里使用MySQL
@xxx
变量。使用旧的MySQL C++ API(似乎是在Java JDBC API之后建模的)
prepareStatment
调用应该如下所示:之后你应该使用类似于
使用较新的C++ API(X Dev API),调用将类似于以下内容:
kknvjkwl2#
这些链接示例似乎都基于涉及单个表的查询。但是真实的的查询经常涉及几个表之间的关系。这个也很管用。请注意,如果有多个变量,则按它们出现的顺序绑定它们。
您可以重新绑定新参数并再次运行查询,而无需重新编译它。