- ベストアンサー
セッション変数をSQLデータソースのパラメータとして使用する方法
- セッション変数に格納されている配列をSQLデータソースのパラメータとして利用する方法について教えてください。
- セッション変数に格納されている配列をSQLデータソースのパラメータとして利用するにはどのようにすればよいでしょうか?
- セッション変数で複数の配列を扱う場合、条件としてのパラメータをどのように設定すればよいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下にサンプルをあげますが、回答というよりも、あくまでも一例としてやり方だけ理解していただきたいという趣旨です。 これを見ると以下のことがわかるはずです。 ・Sessionに入れた配列は結局一旦配列の変数に取り出して使う ・同じページ内の処理であれば、結局Sessionを使う必要はない ・SqlDataSourceへの値のセット方法は、パラメータとして渡す方法だけではない また、ここまで来ると質問内容はデータベースカテゴリよりも、明らかにASP.NETです。ASP.NETカテゴリの方がはるかに早く適切な回答が付くでしょう、ということもコメントしておきます。 Dim myArray() As String = Split("1,0,1,1,0", ",") Session("aaa") = myArray Dim myNewArray() As String myNewArray = Session("aaa") Dim strSQL As String = "SELECT * FROM TABLE1" Dim strWhere As String = "" For i As Integer = 0 To UBound(myNewArray) If myNewArray(i) = "1" Then Select Case i Case 0 : strWhere = strWhere & " (F1=1 AND F2=0)" Case 1 : strWhere = strWhere & " OR (F1=2)" Case 2 : strWhere = strWhere & " OR (F2=1 AND F3=1)" Case 3 : strWhere = strWhere & " OR (F1=1 AND F2=1)" Case 4 : strWhere = strWhere & " OR (F3=2)" End Select End If Next If Left(strWhere, 3) = " OR" Then strWhere = Right(strWhere, Len(strWhere) - 3) If strWhere <> "" Then strSQL = strSQL & " WHERE " & strWhere SqlDataSource1.SelectCommand = strSQL
お礼
複数回に渡りありがとうございました。 本日少しアレンジした上でコードを書いてみましたところ、希望通りに動作する事を確認できました。 本当に助かりました。 また、何かありましたら宜しくお願い致します。