C# 如何在listview中显示不同表中的列

C# 如何在listview中显示不同表中的列,c#,mysql,C#,Mysql,我有一个表,其中包含来自另一个表的外键和信息;这就像:在TablePerson中,我有一个列country\u id,来自表country,其中保存了一些国家;我想在列表视图中显示来自表person不同列的信息,并显示来自表country的国家名称,而不是表person中的country\u id。 这是我的代码: nameview.Items.Clear(); countryview.Items.Clear(); emailview.Items.

我有一个表,其中包含来自另一个表的外键和信息;这就像:在TablePerson中,我有一个列
country\u id
,来自表
country
,其中保存了一些国家;我想在列表视图中显示来自表
person
不同列的信息,并显示来自表country的国家名称,而不是表
person
中的
country\u id
。 这是我的代码:

        nameview.Items.Clear();
        countryview.Items.Clear();
        emailview.Items.Clear();
        bankview.Items.Clear();
        cardnrview.Items.Clear();
        com.CommandText = "Select * from Account";
        dataSearch = com.ExecuteReader();
        if (dataSearch.HasRows)
        {
            while (dataSearch.Read())
            {
                nameview.Items.Add(dataSearch["NickName"].ToString());
                countryview.Items.Add(dataSearch["Country_ID"].ToString());
                emailview.Items.Add(dataSearch["Email"].ToString());
                bankview.Items.Add(dataSearch["BankAccount_ID"].ToString());
                cardnrview.Items.Add(dataSearch["Card_Number"].ToString());
            }
        }

请在
com.CommandText
中键入完整的查询,并相应地获取密钥

而不是:
com.CommandText=“选择*来自帐户”

试试这个:

com.CommandText = "Select a.bankAccountId as 'BankAccount_ID', a.cardNumber 
as 'Card_Number', p.nickName as 'NickName', c.countryName as 'Country_Name' 
from Account A inner join Person P on A.accountId = P.accountId
inner join country c on c.countryId = p.countryId";
现在,您应该能够做到这一点:

if (dataSearch.HasRows)
    {
        while (dataSearch.Read())
        {
            nameview.Items.Add(dataSearch["NickName"].ToString());
            .
            .
            .
        }
    }