いつもお世話になっています。
ASP.NETのVB.NETで
作業をしています。
1つのボタンコントロールにInsert,Updateと2つの機能を持たせたいのですが
方法が間違っているようで正しく動きません。
状況としては、違うページから遷移してきた場合、Insert,Updateと書くモードで
機能させるようにしたいのです。
---現在のコード------------------------
If Session("Hstory.jsp.aspx?stage=1") Then
Dim master_001DS As Integer
master_001DS = ChengeMethod(Membercode, Namecode, Fail)
End If
If Session("Hstory.jsp.aspx?stage=2") Then
Dim master_001DS As Integer
master_001DS = InsertRecord(Membercode, Namecode, Fail)
End If
そもそもSessionの使用法が違うのでしょうか?
どなたか、アドバイス等宜しくお願い致します。
Asp.Netは詳しく無いのですが、なんかとてもおかしいよう...
Sessionを使わなくてもWebクエリ文字列で、
呼び出される方は、
If Request.QueryString("stage") = 1 then
'1の処理
ElseIf Request.QueryString("stage") = 2 then
'2の処理
End IF
呼び出す方は、
Response.Redirect("WebFormHoge.aspx?stage=1")
Response.Redirect("WebFormHoge.aspx?stage=2")
Sessionを使うなら
呼び出される方は、
If Session("SessionKey1") = "1" Then
'1の処理
ElseIf Session("SessionKey1") = "2" Then
'2の処理
End If
呼び出す方は、
Session("SessionKey1") = "1"
Session("SessionKey1") = "2"
こんなかな。
お返事ありがとうございます。
呼び出される側の記述はそのように書くのでしたか。
完全に間違っていました。
Insertは無事に完了したのですが、Updateが正しく動きません。
--------Update文------------------------------------------------------------------------------------------------------
Dim queryString As String = "UPDATE [master_001] SET [m001_0020]=@m001_0020, [m001_0030]=@m001_0030 WHERE (([master_001].[m001_0010] = @m001_0010) AND ([master_001].[m001_0020] = @m001_0020) AND ([master_001].[m001_0030] = @m001_0030))"
以上が現在のUpdateのコードです。
Where句が間違っているのでしょうか?
SQL Server200*かな。
これも詳しくないんだけれど....
とりあえず「osql ユーティリティ」でやってみるとか。
SQL は Where 句含めて(あくまでも)文法的にはあってますね。
てことは「正しく動かない」ていうのは「希望どおりの更新をしない」って事なんだろうけれど、その辺の説明がないのでこれ以上は何とも。
いつもお世話になります。
パラメータの記述の順番が間違っていたようでした。
Updateの場合、更新したいm001_0020 m001_0030を先に、
Whereで使う m001_0010を後で記述しなければいけませんでした。
お忙しい中、
教えて頂きありがとうございました。
ツイート | ![]() |