gpt4 book ai didi

C++ MySQL 准备语句

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:24:20 24 4
gpt4 key购买 nike

    sql::Connection *con;
sql::PreparedStatement *pstmt;
//connect

pstmt = con->prepareStatement("UPDATE table_people SET name=?, age=?");

pstmt->setString(1, s);

pstmt->setInt(2, age());
pstmt->execute();

std::string s 是输入字符串,列 nameVARCHARageINT

代码按预期更新了所有行。 age 是正确的,但是 name 没有正确更新并且保存了奇怪的符号。请问为什么?

最佳答案

由于我的评论似乎是正确的,所以我将其作为答案发布:)

使用

pstmt->setString(1, s.c_str());

(即,传递实际的 C 风格字符串,而不是 std::string)。

认为我知道为什么这可以解决问题的解释,但由于我不是 100% 确定解释,请查看问题下方的评论以了解我对它为何起作用的想法.

关于C++ MySQL 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21544498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com