1

好的,所以我需要知道如何从 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;
};

我需要它像这样存储在向量中

汤姆 21 50

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

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

2 回答 2

2

您需要使用数组。
更多信息在这里
如果您想要更具体的代码示例,请在评论中添加详细信息。

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>;
}
于 2013-09-04T23:49:11.657 回答
0

您是否尝试过这样的事情(如果您真的想使用矢量)?

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"));
   }
于 2013-09-05T01:02:48.283 回答