現在、ユーザーのセキュリティ グループ レベルに応じてデータベースから特定のレコードを取得する VB.net/ASPX Web アプリを実行しています。私がやりたいことは、ユーザーが複数のセキュリティ グループに属している場合、ユーザーが存在する各セキュリティ グループのレポートを取得することです。
where 句には、次の行があります。
and b.security_level_id = @security_level_id
これによりsecurity_level_id
、選択クエリに渡すことができるのは 1 つだけです。
パラメータを変更して、クエリを複数回実行することは可能ですか:
<asp:Parameter DefaultValue="0" Name="security_level_id" />
または、このパラメーターから配列を作成し、単一のクエリでそれをループできますか?
ありがとう!
解決済み:
Ok。実際の VB コードで select コマンドを作成することで、この問題を解決しました。パラメーターの必要がなくなったため、変数をクエリ文字列に直接渡すことができました。
私が使用したもの: Protected Sub SqlDS_ReportCategories_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles SqlDS_ReportCategories.Init
Dim s As SqlDataSource = CType(sender, SqlDataSource) データ ソースのオブジェクト参照を作成します。
次に s.SelectCommand ="一部のクエリ" + 変数 + "残りのクエリ"
これが将来人々に役立つことを願っています!
- マット