【问题标题】:ASP.NET GridView & SqlDataSource FilterExpression - Column name with hash / pound symbolASP.NET GridView 和 SqlDataSource FilterExpression - 带有哈希/磅符号的列名
【发布时间】:2013-08-09 11:45:15
【问题描述】:

我正在使用一个设计精美的表,其中主键列包含 #: OTTXN#

我需要能够在从我的 SqlDataSource 填充的 GridView 中选择和显示这些值,这工作正常。

当我添加 FilterExpression=" = '{0}'" 然后代码对我来说是废话,因为列名中有一个井号标签/井号。

我可以将 select 语句更改为使用不带井号的别名,但 SQL where 子句不允许您使用列别名。

有什么办法可以让它工作吗?

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="dsIseries">
        <Columns>
            <asp:BoundField DataField="OTTXN#" HeaderText="OTTXN" 
                SortExpression="OTTXN#" />
            <asp:BoundField DataField="OTWODT" HeaderText="OTWODT" 
                SortExpression="OTWODT" />
            <asp:BoundField DataField="OTBAD1" HeaderText="OTBAD1" 
                SortExpression="OTBAD1" />
        </Columns>
    </asp:GridView>

    <asp:SqlDataSource ID="dsIseries" runat="server" 
            ConnectionString="<%$ ConnectionStrings:VM520ConnectionString %>" 
            ProviderName="<%$ ConnectionStrings:VM520ConnectionString.ProviderName %>"
            SelectCommand='SELECT ottxn#, otwodt, otbad1
                            FROM kivalib.ortxnpf
                            fetch first 100 rows only'
            FilterExpression=" = '{0}'">
        <FilterParameters>
            <asp:ControlParameter ControlID="txtSearch" PropertyName="Text" />
        </FilterParameters>    
    </asp:SqlDataSource>

编辑

在不更改数据库的情况下...有没有一种方法可以从代码隐藏中查询列并将结果返回给带有值和更改的列名的 SqlDataSource 或 GridView?

【问题讨论】:

    标签: asp.net sql gridview filter datasource


    【解决方案1】:

    我会在数据库中创建一个视图,其中包含所有具有更好名称的相关列,然后从该视图中查询。

    【讨论】:

    • 好主意,但不幸的是我没有这个选项。这是一个 DB2 数据库,我无权更改它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多