0

主キー列に #: 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 に戻す方法はありますか?

4

1 に答える 1

0

関連するすべての列をより適切な名前で含むビューをDBに作成し、そのビューからクエリを実行します。

于 2013-08-07T22:09:57.767 に答える