我有一个表,其中包含来自另一个包含信息的表的外键;就像:在表格中,我从表格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());
}
}
答案 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());
.
.
.
}
}