以下是我试图获得矢量回退的内容,而我现在缺少的是将其分配给字符串:
#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
我希望得到“admin”&amp; “password”一起通过sql select语句然后将它们分配给一个字符串,我如何使用vector来获取这个元素[0]和元素[3]到一个字符串。因为我以后需要它来比较。
感谢所有帮助!!
答案 0 :(得分:0)
您已经将字符串推送到矢量矢量中。由于您已将向量组织为表示相同列值的每一行,因此如果您想要记录r
的字符串,则可以执行以下操作:
std::string username = result[0][r];
std::string password = result[3][r];