![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
宜しくお願い致します。
セッション変数に格納されている配列をSQLデータソースのパラメータとして利用するにはどのようにしたらいいのでしょうか??
普通でしたら
sqldatasource1.selectparameters("**").defaultvalue = session("**")
といった感じで条件としてのパラメータを適用できるかと思いますが、
複数となるとどのようにしたらいいのかが分からないので、質問させていただきました。
また、“session”(配列) に関しても複数ある場合ですと記述方法がいろいろ変わってくると思いますので、何かいいアドバイス等ございましたら、教えていただけたらと思います。
どうぞ宜しくお願い致します。
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
複数回に渡りありがとうございました。
本日少しアレンジした上でコードを書いてみましたところ、希望通りに動作する事を確認できました。
本当に助かりました。
また、何かありましたら宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 モデルのパラメータの定義がいまいちわかりません。 3 2022/10/11 15:16
- 統計学 ARMAモデルが適用できる状態について 1 2022/12/30 05:58
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- PHP PHP MySql ページング 2 2022/09/20 06:38
- SQL Server SQL 期間内の実施数を合計したい 2 2023/03/03 22:28
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Tverは無料でしょうか?
-
DBのテーブルの設計ができず困...
-
ACCESS2007 フォーム 「バリア...
-
SQLServer 日付が直前のレコー...
-
ある名簿から条件を付けて抽出...
-
<SQL>重複しているデータの場合...
-
【VB.NET】日付型の列にNULLを...
-
SQLサーバー接続 特定のPCがWin...
-
サーバー破壊
-
Visuaal Studio Community 2022...
-
Access2021 「ISNULL関数には引...
-
甘いものがすきなのってなおせ...
-
SQLて何ですか!
-
生え際から顎先まで17.5 頭頂か...
-
sql serveについて
-
SQLを駆使したデータ抽出ってど...
-
自己相関サブクエリと自己結合...
-
T-SQLを無料で勉強したいです。...
-
AccessのInsertクエリのあとつ...
-
これをSQL文で出来るでしょうか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スペースを検索したい
-
あいまい検索で英文字の全角半...
-
顧客データベースを作る場合、...
-
INSERT文などの列名などの半角...
-
select文のwhere句に配列を入れ...
-
ORACLEの「DECODE」と同じ意味...
-
末尾の全角スペースの削除
-
Trimの使い方
-
SQLServer2005のストアドプロシ...
-
外部結合で取得した項目にNVL関数
-
WHERE条件の最終桁のスペースに...
-
ストアドの戻り値で配列を返す方法
-
EXCELのVBA NULL、スペ...
-
アンケートメールをACCESSに取...
-
SUBSTR関数の結果が予想と異なる
-
DTSパッケージについて
-
access2007のvbaの配列で配列に...
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
エクセルで最後の文字だけ置き...
おすすめ情報