1

次のようなリセットボタンがあります。

<% If Request("Reset") = "Reset" Then
Dim cn
Dim strSQLCommand
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open MM_DD_DB_STRING
For Each variableName in Request.Form
    If Instr(variableName, "selected") = "1" Then
        Dim prodCode
        prodCode = Split(variableName, "selected_")(1)

        strSQLCommand = "UPDATE DB.STOCK SET DUE_DATE= NULL WHERE ID=x'" & prodCode & "'"

        cn.Execute strSQLCommand

    End If
Next
cn.Close
Set cn = Nothing
     End if 

     %>

リセットをクリックすると、DUE_DATEのみをリセットするか、= NULLにする必要があります。今のところ、チェックボックスを選択してリセットボタンをクリックしても、DUE_DATEフィールドがnullになりません。しかし、私はこのコードを使用しました:UPDATE DB.STOCK SET DUE_DATE= NULL私は何か間違ったことをしていますか?

どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

0

SearchAndResQ があなたの質問へのコメントで示唆しているように: 実行呼び出しの前にクイック response.write を実行し、クエリが正しいかどうかを確認してください。問題がないように見える場合は、データベースに直接簡単にチェックして、それが受け入れられるかどうかを確認します。

最後に、.asp サイトにエラーがないかどうかを確認します。for ループ内で変数 ( dim prodCode) の定義を行っているため、ループが 2 回以上繰り返されるとページでエラーが発生するため、これが疑われます。この行を for ループの外に移動します。

于 2012-11-23T16:49:48.447 に答える