我不知道这是否可能从一个SQL查询,但我给它一个去。
我正在开发在连接到SQL数据库,并运行一个查询,那么该结果集到GridView databinds C#一个SharePoint Web部件。 它的工作很好,但我有一个小障碍。 在大多数情况下,我的查询将返回一结果的各个领域。 我垂直显示的信息,所以它看起来大致是这样的:
Customer Name Mr. Customer
Customer Address 980 Whatever St.
Customer City Tallahassee
一切都显示正常。 然而,在数据库中的一个表将几乎总是返回多个结果。 它列出了不同类型的用于不同产品的材料,所以该模式是不同的,因为虽然每个客户当然不会有一个名字,一个地址,一个城市等,他们都将至少有一个产品,并且该产品将在至少一种材料。 如果我是显示自身的信息,它会是这个样子:
Product Steel Type Wood Type Paper Type
-----------------------------------------------------------------------------
Widget Thick Oak Bond
Whatsit Thin Birch
Thingamabob Oak Cardstock
理想情况下,我想最终的结果会是这样的:
Customer Name Mr. Customer
Customer Address 980 Whatever St.
Customer City Tallahassee
Widget Steel Thick
Widget Wood Oak
Widget Paper Bond
Whatsit Steel Thin
Whatsit Wood Birch
Thingamabob Wood Oak
Thingamabob Paper Cardstock
另一种可以接受的结果可能是类似于以下,加入几列,但只返回多个结果这些字段:
Customer Name Mr. Customer
Customer Address 980 Whatever St.
Customer City Tallahassee
Product Steel Type Wood Type Paper Type
Widget Thick Oak Bond
Whatsit Thin Birch
Thingamabob Oak
我愿意接受任何建议。 我想这包括在结果没有一个单独的查询设置,如果可能的话。 下面是我使用的数据拉的代码:
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "Specs");
DataSet flipped_ds = FlipDataSet(ds);
DataView dv = flipped_ds.Tables[0].DefaultView;
GridView outputGrid = new GridView();
outputGrid.ShowHeader = false;
outputGrid.DataSource = dv;
outputGrid.DataBind();
Controls.Add(outputGrid);
我会列出我的SQL查询,但它是巨大的。 我拉动以及超过一百场,现在,有很多SUBSTRING格式和拼接的,所以这将是浪费空间,但它确实在那里我选择与AS语句的字段来获得一个相当简单的查询我想,并且使用一些LEFT JOIN的在我,而不需要多个查询的数据中提取姓名。 产品/材料表的模式是这样的:
fldMachineID
fldProductType
fldSteel
fldWood
fldPaper
所以很明显,每个客户都有多个条目,每一个不同的fldProductType值。 如果我离开任何东西了,我可以添加它。 感谢大家的时间和帮助!