如何使用libpq库和C 绑定无效的语句
How can I bind a NULL value to a prepared statements with libpq library and C++?
我必须使用libpq库,而不是libpqxx,我找不到在准备好的语句中绑定数字类型的null值。我尝试了null或null,甚至使用",但它没有起作用。
...
std::string statements = "insert into ipls_troubleticketerrorreport2 (CUSTOMER, NETWORK,SELECTABLEMONTH, ERRORCODE,ERRORMESSAGE, TTID ) "
"values ($1, $2, to_date($3,'DD.MM.YYYY'), $4, $5, $6);";
for (int i=0; i< sqlParametersWithValue.size();i++)
{
char NULLstr[] = "NULL";
if ((sqlParametersWithValue[i].second) == "")
{
paramValues[i] = NULLstr;
}
else
{
paramValues[i] = &(*(sqlParametersWithValue[i].second).c_str());
}
}
pgres = PQexecParams(pgconn,statements.c_str(), sqlParametersWithValue.size() , NULL, paramValues, NULL, NULL, 0);
您将其传递给包含" null"的字符串,而不是实际的空指针。
paramValues[i] = NULL;
paramValues[i] = nullptr; // If using C++
https://www.postgresql.org/docs/9.1/libpq-exec.html
paramValues[]
指定参数的实际值。此数组中的空指针表示相应的参数为null;否则,指针指向零终止的文本字符串(用于文本格式(或服务器期望的格式(用于二进制格式(的二进制数据。
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 无法访问嵌套类.类的使用无效
- 我的简单if-else语句是如何无法访问的代码
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么是0;C++中的有效语句
- Insert函数不适用于2 if语句C++
- c++:if 语句无法正常运行,并继续执行无效输出
- 如何使用libpq库和C 绑定无效的语句
- 获取控制权到达非无效函数警告的末尾,尽管我在 th 函数中有返回语句
- 如何引用无效的输入,然后重新输入和如果其他语句
- 提示再次运行程序:修复他们是否输入了无效语句
- switch 语句中从 'const char*' 到 'char' 的转换无效
- C++将向量传递给重载类——有些调用语句有效,有些则无效
- 在 && 语句的后半部分进行无效操作是否安全?
- 以下C++模板程序中的无效语句是什么
- 警告:语句无效 (C++)
- 如何在开关语句中更改指针。错误:从'const char*'到'char'的转换无效
- Qt-Sql INSERT语句无效
- 为什么if语句无效