从SQL视图中选择要在文本框中显示的特定值

时间:2011-04-16 01:09:53

标签: c# asp.net sql database

我对编程一般都很陌生,所以我至少会以千种方式打包这个问题而且我很抱歉在项目之前。我有一个我在SQL数据库中创建的表的视图。它们具有外键关系和一对多表。我有一个员工表和一个链接的电话号码表。

所有员工都至少有一个号码,一些员工列出了2个或更多号码,我希望能够选择在文本框中甚至在几个文本框中显示的少数几个。如果我做textbox.text = employee.PhoneNumber(亚音速)那么它只给我第一个数字。有人可以指导我或向我解释如何选择我想在该文本框中显示哪些值?

非常感谢您提供任何帮助。

P.S。当我在sql中测试veiw时,由于数字不同,我会多次列出相同的员工,因此我知道数据存在,我只是不知道如何访问列表中的其他2个电话号码。

1 个答案:

答案 0 :(得分:0)

我没有使用亚音速的经验,但看起来很奇怪,你可以访问这样的非标量值(员工对电话号码是1-n或mn关系,因此员工对象不应该有包含电话号码的标量字段,但是0个或多个电话号码对象的集合)如果您的员工对象有一个标量电话号码对象,我建议检查关系

//修改

所以你的VIEW包含这样的东西:

employee + phone  
John Doe | 123  
John Doe | 456  
Jane Doe | 789

假设结果是某个类型T的枚举,其中包含具有给定名称的属性或字段的值...

所以你有

IEnumerable< T > data; // initialized somewhere else
IEnumerable< IGrouping<WhateverTypeEmployeeIs,T>> tmp = from x in data group x by x.employee;
var employees = from x in tmp select new { employee = x.Key, phoneNumbers = x.Select(y => y.phone).ToArray() };

员工将包含IEnumerable&lt; &GT;具有2个属性的新匿名类型:
员工 - 包含您的员工
phoneNumbers - 包含一系列电话号码