2016-04-18 12 views
1

私はVBでこのコードを実行することができますが、ASPでsqldatasourceを実行できるはずです。SQL Select文でページ上のフィールド値を参照する方法

私がしたいのは、テーブルのフィールドの値がページの非表示フィールドの値と等しいレコードを選択することだけです。

ツリービューの選択したノードの変更時に、NLHFという名前の隠しフィールドの値を設定しました。私はこれを他の場所で使用しているので、期待通りに動作することがわかります(この値を設定する)。問題は、SQL select文でこの値を参照したいのですが、私は悲惨に失敗しています。問題の

コードは次のとおりです。

<asp:SqlDataSource ID="SupervisorSQLDS" runat="server" 
    ConnectionString="<%$ myconnectionstring %>" 
    SelectCommand="SELECT DISTINCT ContactID, DisplayName AS ListItem FROM Contact WHERE LocationID = NLHF ORDER BY ListItem"> 
</asp:SqlDataSource> 

私は、これは単なる構文であると信じて...とても明るくはない感じが、私は別のものを探しているとしようとの時間のカップルの後にあきらめます。

ありがとうございます。

+0

をバインド... LocationIDテーブル内のフィールドであり、NLHFはselectednodechangedイベントで設定した隠しフィールドです。 – jsteffler

答えて

1

SQLになるので、あなたは、あなたのクエリにパラメータを追加することができます

SELECT DISTINCT ContactID, DisplayName AS ListItem 
FROM Contact 
WHERE LocationID = @NLHF 
ORDER BY ListItem 

その後、私は明確ではなかった場合、私は推測するControlParameter

あなたのデータソースの選択コマンドに
<asp:SqlDataSource ID="SupervisorSQLDS" runat="server" 
    ConnectionString="<%$ myconnectionstring %>" 
    SelectCommand="SELECT DISTINCT ContactID, DisplayName AS ListItem FROM Contact WHERE LocationID = @NLHF ORDER BY ListItem"> 

    <SelectParameters> 
    <asp:ControlParameter Name="NLHF" ControlID="NLHF" PropertyName="Value"/> 
    </SelectParameters> 

</asp:SqlDataSource> 
+0

それはそうしました。ありがとうございました。 – jsteffler

+0

これを助けてくれる人は誰でも...プロパティ名が重要であることに注意してください。私の場合は違っていました。あなたがあまりにもあなたを上回らないようにしてください。 – jsteffler

+0

私はそれをValueに変更しました。 – GarethD

関連する問題