• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セッション変数に格納されている配列をSQLデータソースのパラメータとして利用するにはどのようにしたらいいのでしょうか??)

セッション変数をSQLデータソースのパラメータとして使用する方法

このQ&Aのポイント
  • セッション変数に格納されている配列をSQLデータソースのパラメータとして利用する方法について教えてください。
  • セッション変数に格納されている配列をSQLデータソースのパラメータとして利用するにはどのようにすればよいでしょうか?
  • セッション変数で複数の配列を扱う場合、条件としてのパラメータをどのように設定すればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.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

munou1go
質問者

お礼

複数回に渡りありがとうございました。 本日少しアレンジした上でコードを書いてみましたところ、希望通りに動作する事を確認できました。 本当に助かりました。 また、何かありましたら宜しくお願い致します。