QSqlQuery,当 QLineEdit 为空时绑定一个空值
QSqlQuery, bind a null when QLineEdit is empty
我正在开发数据库应用程序,当QLinEdit
为空时,需要将NULL
值写入数据库(而不是空白,这似乎是默认行为(。
以下代码接近工作,尽管它总是将NULL
写入数据库,即使QLinEdit
包含文本字符串也是如此。任何帮助将不胜感激!
示例代码:
QSqlQuery qry;
qry.prepare("insert into [DB] (BUSN_MNGR) values (:BUSN_MNGR)");
QString BUSN_MNGR;
BUSN_MNGR=ui->txt_BUSN_MNGR->text();
qry.bindValue("BUSN_MNGR", BUSN_MNGR.isEmpty() ? QVariant(QVariant::String): BUSN_MNGR); // bind null if the string is empty
qry.exec .... etc.
由于某种原因,只有NULLs
传递到数据库。
您需要在
占位符名称的开头包含冒号,按照文档:
https://doc.qt.io/qt-5/qsqlquery.html#bindValue
所以它看起来更像这样:
qry.bindValue(":BUSN_MNGR", /* ... */);
谢谢森林亲爱的!
如果其他人感兴趣,我通过对代码的以下调整解决了我的问题:
qry.bindValue(":BUSN_MNGR", ui->txt_BUSN_MNGR->text().trimmed().isEmpty() ? QVariant(QVariant::String): ui->txt_BUSN_MNGR->text());
相关文章:
- 使用 const char* 键映射 C++ 检索空值
- 返回空值的字符串值
- boost::any 如何检查空值/未定义的值
- C++ - 无法从基类继承 |提供空值
- C++空值和此指针
- 使用 cin 或 getline() 输入空值
- 使用连续分隔符和空最后一个字符进行拆分
- 可变参数列表是否以空值终止?
- 如何将整数重新初始化/设置为空值
- 检查构造函数的空值
- 无法从Linux,C ++执行"my_script" python脚本"main(filename)"功能;pModule = PyImport_Import(pName);返回空值
- 使用Nlohmann JSON将JSON数据保存在文件中时获取空值
- 在命名空间中定义变量,但在测试中获取空值
- 将 CURL 转换为字符串时为空值
- QCharts - 在 QLineSeries 中创建一个中断(空值)
- 动态强制转换返回空值
- SDL 表面返回空值
- ptrA = ptrB 是否等同于 ptrA = &*ptrB?,空值是否共享一个地址空间?
- QSqlQuery,当 QLineEdit 为空时绑定一个空值
- 寻找一个如何使用ODBC API将空值绑定并插入数据库的线性示例