C++ 从DB中选择客户端信息并存储到vector中

C++ 从DB中选择客户端信息并存储到vector中,c++,sql-server-2005,C++,Sql Server 2005,好的,所以我需要知道如何从21岁的数据库中选择所有人,并将他们的信息存储到一个向量中,这样我就可以在我的程序中将其呈现到一个列表中 SELECT Name, Age, State FROM ACCOUNT_DBF.dbo.CLIENTLIST Where Name=tom while( qry->Fetch() ) { Name = qry->GetInt("Name"); Age = qry->GetInt("Age");

好的,所以我需要知道如何从21岁的数据库中选择所有人,并将他们的信息存储到一个向量中,这样我就可以在我的程序中将其呈现到一个列表中

SELECT Name, Age, State FROM ACCOUNT_DBF.dbo.CLIENTLIST Where Name=tom

while( qry->Fetch() )
{    
    Name    =    qry->GetInt("Name");
    Age    =    qry->GetInt("Age");
    State    =    qry->GetInt("State");
}
我有上面这样的东西来获取一个人的信息 我知道这对选择一个人的信息有效,但对于选择所有21岁的人,我不知道如何将其存储到一个向量中,在获取后我该怎么做我创建了以下结构

struct CURRENT_MEMBER
{
    TCHAR Name[MAX_NAME];
    int age;
    int state;
};
我需要它像这样存储在向量中

汤姆2150

能够将所有客户端呈现到滚动列表框中

jane 21 15
max 21 25
Tom 21 50
sara 21 5

您需要使用数组。
更多信息。
如果您想要更具体的代码示例,请使用详细信息进行注释

CURRENT_MEMBER Members [MAX_MEMBER_COUNT];

for (int i=0; i<nMemberCount; i++)
{
    Members[i].Name= <info from DB>;
    Members[i].age= <info from DB>;
    Members[i].state= <info from DB>;
}
当前成员[最大成员数];

对于(inti=0;i您是否尝试过类似的方法(如果您真的想使用向量)

公共类成员
{
TCHAR名称[最大名称];
智力年龄;
int状态;
//对于vector::push_返回工作状态(按值传递)
公共成员(施工成员和其他)
{
名称=新的TCHAR[最大名称];
对于(int i=0;i

vector yourVector=newvector();
while(qry->Fetch())
{    
yourVector.push_back(新成员(qry->GetInt(“Name”),
qry->GetInt(“年龄”),qry->GetInt(“状态”);
}

<代码> >我如何找到Max成员MeCube计数?我是通过SQL或C++来做的吗?我不确定。that@420我假设你发明了
MAX\u NAME
的值作为一个人名字的最大长度常量。
MAX\u MEMBER\u COUNT
是一个类似的常量,你可以分配给你想要的任何东西:例如
const int MAX\u MEMBER\u COUNT=50
或类似的内容。您只需确保像这样声明的数组的值是常量。如果您可以解释如何查找sql中返回的成员数量,我将检查此值作为答案statement@420另外,如果您需要能够在不知道数组(向量)的绝对长度的情况下执行此操作,然后有一种不同的方法,使用指针和动态内存分配来实现数组。在我为您链接的文章中有一个很好的代码示例。是的,我想选择所有21岁的成员,所以我不知道会找到多少
public class Member
{
    TCHAR Name[MAX_NAME];
    int age;
    int state;

    //for vector::push_back to work (pass by value)
    public Member(const Member& other)
    {
        Name = new TCHAR[MAX_NAME];

        for(int i = 0; i < MAX_NAME; i++)
        {
            Name[i] = other.Name[i];
        }
        age = other.age;
        state = other.state;
    }

    public Member(TCHAR ar[],int a, int st)
    {
        Name = new TCHAR[MAX_NAME];

        for(int i = 0; i < MAX_NAME; i++)
        {
            //careful!
            Name[i] = ar[i];
        }
        age = a;
        state = st;
    }
}
   vector<Member> yourVector = new vector<Member>();

   while( qry->Fetch() )
   {    
       yourVector.push_back(new Member(qry->GetInt("Name"), 
          qry->GetInt("Age"), qry->GetInt("State"));
   }