Ich versuche, ein einfaches Einfügen oder Aktualisieren in SQL Server als NULL, nicht leer. Ich habe viele Online-Referenzen gesehen, um Field = NULL ohne Anführungszeichen zu setzen, aber es erscheint immer noch leer, nicht NULL. Unglaublich frustrierend.NULL-Wert in SQL Server von Classic ASP einfügen
Dies ist in klassischen 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'"
Wenn ich dies tun, beweist es, dass es überprüft wird, weil es in einem ich schon versucht, diese 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'"
setzt aber einen Fehler 500 erhalten:
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'"
Als ich versuchen Sie dies anstelle meines ursprünglichen Codes: Feldzuweisung:
Field = "NULL" and Field = "'" & Request.Form("Field") & "'"
sSQL: "Ein Fehler auf dem Server aufgetreten ist, wenn die URL der Verarbeitung"
"Field = " & Field & "," &_
ich
Bevor Sie etwas anderes tun, müssen Sie über parametrisierte Abfragen lesen, verstehen und starten. Dies ist ein Lehrbuchbeispiel für die SQL-Injektion. –
Stellen Sie sicher, dass Ihre Tabelle keinen Standardwert für diese Spalte hat. Dann setzen Sie einfach 'Field =" NULL "' und 'Field =" '"& Request.Form (" Feld ") &"' "' und Ändern Sie sql in '" Feld = "& Feld &", "& _' dann erkennen Sie, dass Sie parametrisierte Abfragen verwenden und alles wieder ändern sollten – JamieD77