我的程序从数据库中读取 0,即使有一个 1
My program reads 0 from the database even though there is a 1
我不明白代码有什么问题,我已经阅读了很多次,但我找不到错误
pstmt = con->prepareStatement("SELECT (?) FROM votos WHERE id = (?)");
pstmt->setString(1, eleccion);
pstmt->setInt(2, p->getId());
res = pstmt->executeQuery();
while(res->next())
{
p->setVoto(res->getInt(1));
}
当eleccion
和id
变量分别Provincial
和1
时,getInt(1) 函数应该返回 1,但它返回 0。
命令(在 mysql 命令行中):
SELECT Provincial from Votos WHERE id=1
返回一个包含一行和一列的表,值为 1
旁注:
已检查拼写
getId() 函数正常工作
编译器不会给出任何错误
不能在准备好的查询中使用占位符作为列名。它返回字符串eleccion
的值,而不是将其用作表中列的名称。您需要执行字符串连接以替换列名。
std::string sql = std::string("SELECT `") + eleccion + "` FROM votos WHERE id = ?";
pstmt = con->prepareStatement(sql.c_str());
pstmt->setInt(1, p->getId());
res = pstmt->executeQuery();
while(res->next())
{
p->setVoto(res->getInt(1));
}
如果eleccion
的值来自用户或其他一些不受信任的源,请确保在连接之前对其进行验证,以防止 SQL 注入。
相关文章:
- 有一个打印语句的函数是一种糟糕的编程实践吗
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- 有没有可能有一个只有ADL才能找到的非好友功能
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 在学习数据结构之前对STL有一个了解是好的吗?
- 我在 .h 中有一个枚举类,并且在.cpp错误中有一个运算符重载:与"运算符<<不匹配
- 如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件"sin.txt",另一个文件"cos.txt",我想将它们分别绘制在一个图表上
- 是否可以在C++中有一个"generic"模板参数,该参数可以是非类型模板参数或类型?
- 我的输出中有一个额外的 0,为什么会这样
- 节点是否为空,即使它有一个值?
- 将数组信息存储到 c++ 向量中有一个"Access violation reading location"
- 我的程序从数据库中读取 0,即使有一个 1
- C++从文件中读取不同类型的数据,直到有一个以数字开头的字符串
- 从C 中的线路读取(每行都有一个字符串和几个INT值)
- 从文件中读取数据,该文件每行都有一个字符串,其中可能有也可能没有整数
- 是否有一个易于使用的,独立于平台的包,我们可以用它来读取&在c++下编写gzip流
- 从文件中读取整数,中间有一个字符串
- 如何有一个正确的路径文件读取它到stringstream