如何在不同表

时间:2016-02-16 11:01:16

标签: c# mysql

我有一个表,其中包含来自另一个包含信息的表的外键;就像:在表格中,我从表格country_id中有country列,我保留了一些国家/地区;我想在列表视图中显示来自表person的不同列的信息,并显示表国家/地区中的国家/地区名称,而不是表country_id中的person。 这是我的代码:

        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());
            }
        }

1 个答案:

答案 0 :(得分:0)

请在com.CommandText中输入完整查询并相应地获取密钥。

而不是:com.CommandText = "Select * from Account";

试试这个:

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());
            .
            .
            .
        }
    }