gpt4 book ai didi

c++ - 如何使用 select 语句检索 sqlite 并分配给 vector 然后分配给字符串

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:06 24 4
gpt4 key购买 nike

以下是我尝试获取 vector 回推的内容,而我现在缺少的是将其分配给字符串:

#include <iostream>
#include <sqlite3.h>
#include <vector>

using namespace std;

int main()
{

sqlite3 *db;
sqlite3_stmt * stmt;
std::vector< std::vector < std:: string > > result;
for( int i = 0; i < 4; i++ )
result.push_back(std::vector< std::string >());

if (sqlite3_open("abeserver.db", &db) == SQLITE_OK)
{
sqlite3_prepare( db, "SELECT * from abe_account;", -1, &stmt, NULL );
//preparing the statement
sqlite3_step( stmt ); //executing the statement

while( sqlite3_column_text( stmt, 0 ) )
{
for( int i = 0; i < 4; i++ )
result[i].pushback( std::string( (char *)sqlite3_column_text( st, i ) ) );
sqlite3_step( stmt );
}

}
else
{
cout << "Failed to open db\n";
}

sqlite3_finalize(stmt);
sqlite3_close(db);

return 0;
}

下面是我在 sqlite 上的数据库:

sqlite> select * from abe_account;
admin|Peter John|admin_account|password

我想通过 sql select 语句将值“admin”和“password”一起获取,然后将它们分配给一个字符串,我如何使用 vector 将这个元素 [0] 和元素 [3] 获取到一个字符串。因为我稍后需要它进行 if compareTo。

感谢大家的帮助!!

最佳答案

您已经将字符串插入您的 vector vector 中。由于您已将 vector 组织为每一行代表相同的列值,如果您想要记录 r 的字符串,您可以这样做:

std::string username = result[0][r];
std::string password = result[3][r];

关于c++ - 如何使用 select 语句检索 sqlite 并分配给 vector 然后分配给字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11938331/

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