我不确定SQL查询是否可以,但我会尝试一下。

我正在开发C#中的SharePoint Web部分,该部分连接到SQL数据库并运行查询,然后将结果设置为GridView。正常工作,但是我有一个小障碍。在大多数情况下,我的查询将完全返回每个字段的结果。我正在垂直显示信息,因此看起来大致是这样:

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查询,但这很大。我目前正在吸引一百多个领域,并带有许多底带格式和串联,因此这将是浪费空间,但这确实是一个相当简单的查询,我在其中选择具有AS语句的字段来获得我想要的名称,并使用一些左连接来吸收我需要的数据,而无需查询。产品/材料表的模式是这样的:

fldMachineID
fldProductType
fldSteel
fldWood
fldPaper

因此,显然,每个客户都有许多条目,一个用于每个不同的fldproductType值。如果我遗漏了任何东西,我可以添加。感谢大家的时间和帮助!

有帮助吗?

解决方案

默认情况下,这些文件类型不包含在SharePoint搜索中。

您可以通过将自己的文件类型添加到Counital Administration:

管理服务应用程序=>搜索服务应用程序=>文件类型

其他提示

在您的feature.xml中,默认设置为false!

<Feature
  ActivateOnDefault = "TRUE" | "FALSE"
  AlwaysForceInstall = "TRUE" | "FALSE"
  AutoActivateInCentralAdmin = "TRUE" | "FALSE"
  Creator = "Text" 
  DefaultResourceFile =  "Text"
  Description = "Text" 
  Hidden = "TRUE" | "FALSE"
  Id = "Text"
  ImageUrl = "Text"
  ImageUrlAltText = "Text"
  ReceiverAssembly = "Text"
  ReceiverClass = "Text"
  RequireResources = "TRUE" | "FALSE"
  Scope = "Text"
  SolutionId = "Text"
  Title = "Text"
  UIVersion = "Text"
  Version = "Text" >
</Feature>
.

http://msdn.microsoft.com/en-us/library/MS436075.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top