gpt4 book ai didi

c++ - 引号内的字符串

转载 作者:行者123 更新时间:2023-11-28 07:39:59 25 4
gpt4 key购买 nike

所以 C++ 连接器 mysql 的文档说:

sql::Connection *con;
sql::PreparedStatement *prep_stmt
// ...

prep_stmt = con->prepareStatement("INSERT INTO test(id, label) VALUES (?, ?)");

prep_stmt->setString(2, "a");
prep_stmt->execute();

但是当我输入我的代码时

  pstmt = con->prepareStatement("UPDATE master SET movie='?' WHERE choice='Y'");
pstmt->setString(1, str);
pstmt->execute();

它告诉我在运行程序后不允许我这样做。

Unhandled exception at 0x75c24b32 in Camera Command Line.exe: Microsoft C++ exception: sql::InvalidArgumentException at memory location 0x00dbe59c..

我知道它告诉我我不能这样做,但我不明白为什么。

最佳答案

您正在使用准备好的语句,因此您不需要在 SQL 中引用 bound 变量,您应该这样做:

pstmt = con->prepareStatement("UPDATE master SET movie=? WHERE choice='Y'");
^^^

关于c++ - 引号内的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16026961/

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