【问题标题】:How edit a SQL query which get it from xml file如何编辑从 xml 文件中获取的 SQL 查询
【发布时间】:2020-08-21 03:48:17
【问题描述】:

我有几个不同模型的 .xml 文件,它们都包含类似于下面的 SQL 查询,我需要在 C# 中运行它们,但由于这个 .xml 文件属于仪表板,我只需要一部分如果我的查询是 select a,b,c,d,e,f,g from x

<Dashboard>
    <Title Visible="false" Text="Management Dashboard" />
    <DataSources>
        <SqlDataSource Name="Perfomr" >ComponentName="DataSource1">
            <Connection Name="ConnectionString" FromAppConfig="true" />
            <Query Type="CustomSqlQuery" Name="myquery">
                <Sql>select  a,b,c,d,e,f,g from x</Sql>
            </Query>
            <ConnectionOptions CloseConnection="true" />
        </SqlDataSource>
    </DataSources>
    <Parameters>
        <Parameter Name="SDate" Type="System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Value="2018-09-01T00:00:00" Description="Start Date" />
        <Parameter Name="EDate" Type="System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Description="End Date" />
    </Parameters>
    <Items>
        <Chart ComponentName="chartDashboardItem3" Name="2G CSSR" ShowCaption="false" ParentContainer="pageDashboardItem1" DataSource="DataSource1" DataMember="Global_All_Layer_Day">
            <DataItems>
                <Dimension DataMember="date_id" DateTimeGroupInterval="None" DefaultId="DataItem0" />
                <Dimension DataMember="a" DefaultId="DataItem1" />
                <Dimension DataMember="d" DateTimeGroupInterval="None" DefaultId="DataItem4" /> 
                <Dimension DataMember="a" DefaultId="DataItem5" />
                <Measure DataMember="b" DefaultId="DataItem2" />
                <Measure DataMember="c" DefaultId="DataItem6" />
            </DataItems>
 .....

【问题讨论】:

  • 您可以使用 Visual Studios 从菜单编辑 XML:项目:添加新项目:Xml 文件。然后将xml粘贴到视图中。任何错误都会在错误列表中显示为编译器错误。

标签: c# sql asp.net xml dashboard


【解决方案1】:
           String filename = "Dashboard.xml";

            XPathDocument document = new XPathDocument(filename);
            XPathNavigator navigator = document.CreateNavigator();
            XPathNodeIterator nodes = navigator.Select("/Dashboard/DataSources/SqlDataSource/Query/Sql");

            while (nodes.MoveNext())
            {
                Console.WriteLine("SQL Query : " + nodes.Current.InnerXml);
            }

【讨论】:

  • 这不是我要找的...我有几个包含不同查询的dashboard.xml。我需要的是首先的代码:找到查询,然后是维度和度量第二个:编辑选择查询以仅返回度量和维度而不是所有记录:查询:选择 a、b、c、d、e、f、g、h从 x 维度:a,d 度量:f,e 更新后的代码如下:从 x 中选择 a,d,e,f
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-19
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多