c++ - 使用 sqlite3 记录 C++ 程序失败:空字符串或空值
问题描述
我使用 sqlite3 数据库将模拟数据(字符串)存储在管道中。我将参数值与模拟结果一起记录:
auto insert_params_results_and_get_rowid(bpo::variables_map vm, std::string const& results)
{
sqlite3pp::command cmd(
this->m_database,
"INSERT INTO table (x, y, z, results) VALUES (?,?,?,?)"
);
cmd.binder() << vm["x"].as<double>()
<< vm["y"].as<double>()
<< vm["z"].as<int>()
<< results;
cmd.execute();
return this->m_database.last_insert_rowid();
}
但有时模拟会因为随机效应和参数条件而失败。在那种情况下,我想记录失败。由于程序无法生成字符串,所以我记录了一个空字符串:
auto insert_params_failure_and_get_rowid(bpo::variables_map vm)
{
sqlite3pp::command cmd(
this->m_database,
"INSERT INTO table (x, y, z, results) VALUES (?,?,?,?)"
);
cmd.binder() << vm["x"].as<double>()
<< vm["y"].as<double>()
<< vm["z"].as<int>()
<< "";
cmd.execute();
return this->m_database.last_insert_rowid();
}
但就逻辑而言,我认为存储 NULL 而不是空字符串更有意义。这个逻辑是否正确,使用 C++ 存储 NULL 值的语法是什么?
我使用sqlite3pp 库
解决方案
推荐阅读
- python - 如何在 python .pptx 中居中标题?
- javascript - React Native:试图注册两个同名的视图 RNCMaskedView
- php - 在 wordpress 中向 woocommerce 表单添加额外字段
- python - 在 Python 中将数据保存到文件中
- c++ - Eclipse 在非 C++ 头文件/源文件中添加注释行
- python - python for循环有效且更快的方式
- node.js - MongoServerSelectionError:getaddrinfo ENOTFOUND 944ef754a755
- java - `Advice.WithCustomMapping` 绑定动态添加的字段
- python - Mac OS - Tkinter:动态更改内置关闭按钮的样式
- java - Mysql数据库编码不适用于spring