1つのButtonに2つの機能を付けるには?

解決


@初心者@  2006-09-06 01:09:39  No: 133090

いつもお世話になっています。

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の使用法が違うのでしょうか?
どなたか、アドバイス等宜しくお願い致します。


我龍院忠太  2006-09-06 03:08:49  No: 133091

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"
こんなかな。


@初心者@  2006-09-06 19:23:59  No: 133092

お返事ありがとうございます。

呼び出される側の記述はそのように書くのでしたか。
完全に間違っていました。

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句が間違っているのでしょうか?


我龍院忠太  2006-09-07 01:09:15  No: 133093

SQL Server200*かな。
これも詳しくないんだけれど....
とりあえず「osql ユーティリティ」でやってみるとか。


Geo=TK3  2006-09-07 10:36:38  No: 133094

SQL は Where 句含めて(あくまでも)文法的にはあってますね。
てことは「正しく動かない」ていうのは「希望どおりの更新をしない」って事なんだろうけれど、その辺の説明がないのでこれ以上は何とも。


@初心者@  2006-09-07 19:11:20  No: 133095

いつもお世話になります。

パラメータの記述の順番が間違っていたようでした。

Updateの場合、更新したいm001_0020 m001_0030を先に、
Whereで使う  m001_0010を後で記述しなければいけませんでした。

お忙しい中、
教えて頂きありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加