gpt4 book ai didi

c++ - SQLite - 转换表数组?

转载 作者:行者123 更新时间:2023-11-30 05:31:53 25 4
gpt4 key购买 nike

我正在尝试将 SQLite 表中的 3 列转换为 3 个数组。我有获取数据库的当前代码:

sqlite3 *db; char *error;
int rc;
rc = sqlite3_open("db.sql", &db);
if (rc)
{
cout << "Error Connecting";
sqlite3_close(db);
}
else {
char **results = NULL;
int rows, columns;
const char *sqlSelect = "SELECT name, surname, dob FROM data";
sqlite3_get_table(db, sqlSelect, &results, &rows, &columns, &error);
if (rc) {
system("color 0c");
cout << "Error executing query";
}
else {
// What to put here?
}
}

我无法继续,文档对我来说有点难以理解。如何将我的数组“结果”转换为有用的东西? (等 3 个数组,dobs[] names[] surnames[])

最佳答案

results 的前 3 个元素包含字段名称。之后它们就是记录,一次一个字段。

例如:

results[0] = "name";
results[1] = "surname";
results[2] = "dob";
results[3] = "John";
results[4] = "Doe";
results[5] = "01/01/1970";
// etc...

所以你想跳过前 3 个结果,然后将剩余的结果放入容器中。不要使用数组。将它们放入 3 个 vector 中:

std::vector<std::string> names;
std::vector<std::string> surnames;
std::vector<std::string> dobs;

for (int i = 2; i < rows; i += 3) {
names.push_back(results[i]);
surnames.push_back(results[i + 1]);
dobs.push_back(results[i + 2]);
}

关于c++ - SQLite - 转换表数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35372144/

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