2016-02-16 99 views
0

我有一个表,其中有来自另一个表的信息的外键;这就像:在表格中,我有表country的列country_id,其中我保留了一些国家;我想在列表视图中显示表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()); 
      } 
     } 

回答

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

非常感谢您! –