単純な挿入またはSQL Serverへの更新は、空白ではなくNULLとして実行しようとしています。私はフィールド= NULLを引用符なしで設定するために多くの参照をオンラインで見てきましたが、NULLではなく空のままになっています。信じられないほどイライラする。Classic ASPからNULL値をSQL Serverに挿入
これは古典的なaspです。
If Request.Form("Field") = "" or IsNull(Request.Form("Field")) then
Field = NULL
Else
Field = Request.Form("Field")
End If
sSql="UPDATE [table] SET timestamp = {fn NOW()}," &_
"Field = '" & Field & "'," &_
"WHERE [System] = '" & System & "' and Active = '1'"
私はこれを行う場合、それは私がこれを試してみました。1.
If Request.Form("Field") = "" or IsNull(Request.Form("Field")) then
Field = 1
Else
Field = Request.Form("Field")
End If
sSql="UPDATE [table] SET timestamp = {fn NOW()}," &_
"Field = '" & Field & "'," &_
"WHERE [System] = '" & System & "' and Active = '1'"
に置きますが、エラー500を得るために、それがチェックされていることを証明している:
sSql="UPDATE [Table] SET timestamp = {fn NOW()}, Field = "
If IsNull(Field) Then
sSQL = sSQL & "NULL"
Else
sSQL = sSQL & "'" & Field & "'" &_
End If
"NTLogon = '" & UCase(NTLogon) & "'" &_
"WHERE [System] = '" & System & "' and Active = '1'"
Iを私の元のコードの代わりにこれを試してください: フィールド割り当て:
SSQL:
"Field = " & Field & "," &_
私は、 "URLを処理するときにエラーがサーバー上で発生しました。" 取得
他に何かをする前に、パラメータ化されたクエリについて理解し、理解し、使用を開始する必要があります。これは、SQLインジェクションの教科書の例です。 –
あなたのテーブルのデフォルト値が空でないことを確認してください。 'Field =" NULL "'と 'Field =" '"&Request.Form(" Field ")&"' "' SQLを '' Field = "&Field&"、 "&_'に変更すると、パラメータ化されたクエリを使用して、すべてを再度変更する必要があります。 – JamieD77