C++ MySQL prepareStatement

C++ MySQL prepareStatement

本文关键字:prepareStatement MySQL C++      更新时间:2023-10-16
    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)。

i think 我知道为什么要解决这个问题的解释,但是由于我对解释的解释不确定,所以请在我的问题下查看我的评论,以了解我的想法。

相关文章:
  • 没有找到相关文章