2009-05-26 23 views

答えて

0

どのようにセッションIDを最初に設定していますか?

本当に設定していますか?あなたはラインごとのデバッグを使用してトレースすることができますし、ログイン(ボタン?)をクリックしてから参照してくださいどこで、魔女の値であなたはそのセッションを設定していますか?

1

コードを使用すると、行が

の線に沿ってC#

string sql = "select a,b,c from XXX where userid=" + System.Web.HttpContext.Current.Session["uid"].ToString(); 

VB

Dim sql As String = "select a,b,c from XXX where userid=" & System.Web.HttpContext.Current.Session("uid").ToString() 

これである必要があり、引用符ですべてを包んしているという点で少しオフに思わ持っスニペットセッションエントリuidがすでに設定されていると仮定しています。

投稿のタイトルを考慮すると、これは別個のクラスですが、クラスのコンストラクタ内の値を渡すか、クラス内からセッションにアクセスするのではなく、インスタンス化されたオブジェクトのプロパティ!これは単体テストなどのWebアプリケーション以外の場所でテストする必要がある場合にコードのテストを改善することができます。

HTH

ワンショット

+0

セッション(「UID」);) – balexandre

+0

まあ、私はそのかなりの可能性最初の部分は引用符とセッションコールの内側にあると思います:-) – OneSHOT

0

は一つの可能​​性のある問題がある:あなたが与えたサンプルコードを見てみると

、あなたは文字列を渡している意味引用符でcurrent.sessionへの呼び出しを持っている

System.Web.HttpContext.Current.Session [ "UID"]。ToStringメソッド()

SQLで何を意味するwhere句です。

current.sessionの呼び出しからの値をsql文字列に追加する必要があります。私は

+0

発見それはちょうど部分的なコピー/ペーストです。 – cjk

+0

@ck良い点ですが、それが当てはまる場合、連結演算子はまだIDEで明白な構文エラーを報告する欠落しているので、私はこれが 'ケース。 それはクラスからの部分的なコピー/ペーストした場合、私はどこユーザーID =「&System.Web.HttpContext.Current.Session [ 『UID』] を見ると期待しているだろう。ToStringメソッド()&」 ことを示します行の先頭と末尾にはより多くのコードがあります でも間違っている可能性があります;-) – OneSHOT

0

:)あなたは、両方の古典との間でセッションデータを共有しようとしている場合...鉱山を執筆している間に

しようとは...

where userid='" & System.Web.HttpContext.Current.Session("uid").ToString() & "'" 

は**編集**ワンショットは、同じ答えを与えましたASPとASP.Netそれは非常に簡単ではありませんが、実行可能です。

完全な詳細については、次のMSDNページを参照してください:VBでhttp://msdn.microsoft.com/en-us/library/aa479313.aspx

関連する問題