• ベストアンサー
※ 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
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SESSION変数の2次元配列

    ソースコードに $_SESSION[’place'][1][2] と記述されていました。 記述内容を考えていたのですが $_SESSION[’place']に、[1][2]=値 の2次元配列を格納するという 考え方で間違いないでしょうか? $_SESSION[’place'][1][2] は、3次元配列( =多次元配列)ではないと、いう考え方で あっていますでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • セッション変数

    $_SESSION['name']=test $_SESSION['pass']=pass というようにセッション変数に、nameとpassを作成しました。 セッション変数とは、配列と考えてもいい物なのでしょうか それとも、一個一個の変数と考えるべきなのでしょうか。 よくセッション変数と言われますが、記述のされ方が配列と同じようにみえるので気になりました。 ・SESSION配列? ############################# | name = 'test'  | pass = 'aaa' | ############################# ・SESSION変数? ###############   ############# |  name = 'test' |   | pass = 'aaa' | ###############   ############# どちらが正解なのでしょうか?

    • 締切済み
    • PHP
  • ASP.NETのCheckboxlistコントロールで取得した値をSQLデータソースコントロールに渡すにはどのようにしたらいいでしょうか??

    素人なのでうまく説明できないかもしれませんが、どうぞ宜しくお願い致します。 ASP.NETのCheckboxlistコントロールで取得した値をSQLデータソースコントロールに渡すにはどのようにしたらいいでしょうか?? 複数のチェックボックスリストを配置し、それぞれのチェックボックスリストで選択されているものに該当するもの、チェックしている条件全てを満たすものをデータベースから取得し、GridViewで表示したいのですが、どのようにコードの部分を書いたらいいのか見当がつきませんでしたので、詳しい方に教えていただけたらと思っておりました。 特に分からないのが、一つのチェックボックスリスト内で1つしか選択できないのであれば、その値をセッション変数に入れてデータソースコントロールに渡すことができるのですが、複数個を指定することができる状態だと複数のセッション変数に入れる事になり、その際にデータソースコントロールにデータを渡すとなるとどのようにしたらいいのかが分かりません。 と言っても現状で思いつく方法がこれ位で、詳しい方からすればもっと良い方法があるかもしれませんので、上記の事柄を行う良い方法があったら是非御教授いただけたらと思っております。 宜しくお願い致します。

  • php配列格納

    $lines = file ('db.csv'); 上記でファイルの中身を配列に入れますがその逆で データを配列にして格納したいのですがどうすればいいのでしょうか? ファイルの不要な行を除いて再度変数に配列で格納しファイルを作成 したいのです。

    • ベストアンサー
    • PHP
  • 配列セッションのクリア方法

    こんにちは。 現在JAVAの勉強をしているのですが、配列変数をセッションに 入れました時の、各配列番号セッションごとのクリアの方法は、 どのようにすれば良いのでしょうか。 ネットや参考書をみまして、普通にセッションのクリアをいたします 時には、 HttpSession ses = request.getSession(); ses.removeAttribute("abc"); の形でクリアが出来ました。 けれども変数が配列になっていますと、この方法で、クリアが行えませ ずに、考えております。 また、自分なりに「ses.removeAttribute("abc[1]");」などと記述をい たしましてもクリアが行えませんでした。 どのような記述方法でクリアが行えるのでしょうか。 よろしくお願いいたします。

  • 【初歩】配列の格納データ数だけSQLを実行するようループしたい

    $arrayCodeは生徒の出席番号を列挙した配列です。 $arrayNameは生徒の名前を列挙した配列です。 それぞれの配列に9個ずつデータが格納されており、出席番号に対応する名前をupdateしたいです。 $arrayCodeや$arrayNameにforeach構文などで9回SQL発行、実行を繰り返すのでしょうが、 どのように記述したらいいでしょうか。foreachの使い方がいまいち理解できておらず・・・。 よろしくお願い致します。 $arrayCode = array(1,2,3,4,5,6,7,8,9); $arrayName = array("阿藤","伊藤","宇藤","江藤","尾藤","加藤","木藤","工藤","毛藤"); $sql = "update mytable set myName = '$arrayName' where myCode = '$arrayCode' "; $rst = mysql_query($sql, $con); if ($rst) { echo "成功"; } else { echo "失敗"; }

    • ベストアンサー
    • PHP
  • VBで配列に格納されているデータをUPDATEや INSERTするには

    配列変数にあるデータを一度に更新や追加したい場合SQL文を(繰り返し)ループするのが良いのでしょうか?ほかに方法はありますか 例えば dim AAA(100) as integer dim BBB(100) as string にさまざまな値データが入っているとしてそれらを、SQL文にして書き込みしたい 場合です。データテーブルはあるものしますが、何番目の配列までデータが 入っているか可変です よろしくお願い致します

  • 特定のセッション変数の内容だけ破棄

    $_SESSION['data1'] $_SESSION['data2'] $_SESSION['data3'] $_SESSION['data4']  このようにセッション変数が複数ある場合、session_destroy();を宣言するとすべてのセッション変数の内容が破棄されますが、例えば「$_SESSION['data1']と$_SESSION['data2']だけ」といったように、特定のセッション変数の内容だけを破棄することは出来ますか?

    • ベストアンサー
    • PHP
  • 一行データから構造体・配列への格納処理について

    初めて投稿します。 ▲実現したい処理内容 1)ファイルを読み込む。 2)読み込んだデータを独自定義した構造体データ配列に格納する。 3)格納した構造体データをパラメータに引き渡す。 ▲ファイルデータについて ・連続した文字列(カンマなどの区切りはなし) ・一行のみ --------10--------20--------30 abcdefgあいうえ123456789012 ▲条件 構造体を使う以外になし ▲状況 今のところ、自分でわかっているのは >2)読み込んだデータを独自定義した構造体データ配列に格納する。 の処理で、 ************************************************************** <最終的に渡すパラメータの型やサイズは決まっているので、 決まった文字サイズでデータから文字を切り出し、操作して パラメータへ渡す>処理で実現できる ************************************************************** なんですが、 構造体を使うロジックで実現しようとし、 関数は freadが適当であるということをアドバイスされましたが、 リファレンスの内容が理解できず困っています。 ファイルを開いて、 char buffer[256]; fgets(buffer, sizeof(buffer), fp); でbufferに文字列を格納する部分までは実現&理解できております。 ご教示いただければ幸いです。 よろしくお願い致します。

  • ショッピングカートで$_SESSIONへデータを格納する方法

    $syohin_code = $_POST['syohin_code']; $syohin_name = $_POST['syohin_name']; $sale_price = $_POST['sale_price']; $kazu = $_POST['kazu']; $_SESSION['cart']['$syohin_code'] = array ("syohin_code" => $syohin_code , "syohin_name" => $syohin_name, "sale_price" => $sale_price , "kazu" => $kazu ); foreach ($_SESSION['cart']['$syohin_code'] as $key => $value){ echo $key . $value;} データベースより一覧表示した商品を「カートに入れる」ボタンを使いPOSTした値を上記のcart.phpへ飛ばし、配列としてセッション変数に格納しました。ひとつの値は上記より取得できるのですが、複数の商品を格納する方法がどうしても分かりません。それともどこかに保存されているのでしょうか? この取得したデータを元に、購入商品全てを一覧表示させたいのですが、よろしくお願いいたします。

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • キャノンMG7130を使用して印刷しようとした際に、「カバーが開いています」と表示される問題が発生しています。
  • カバーは閉まっている状態であり、再起動やカバーの閉め直しをしても問題は解決しません。
  • キャノンMG7130の印刷に関する問題についてのアドバイスをお願いいたします。
回答を見る