In VBScript (ASP-Umgebung) ist es möglich, einen Parameter mit einem Nullwert an eine gespeicherte Prozedur zu übergeben?VBScript: Übergeben eines Parameters mit einem Nullwert an eine gespeicherte Prozedur?
Antwort
Wenn Sie Strings erstellen und SQL Injection überprüfen/schützen, können Sie einfach das Wort null in Ihrer SQL-Zeichenfolge oder einer durch Kommas getrennten EXEC-Anweisung verwenden.
'calling a stored proc.
strSQL = "EXEC UpdateCustomer @CustomerID=" & iCustomerID + ",@PhoneNumber=null"
Hier ist, wie in einem von Hand gebaut String null verwenden, um die DB
strSQL = "UPDATE Customer SET PhoneNumber = null WHERE CustomerID = " + iCustomerID
Leider muss ich gespeicherte Prozedur verwenden, um Konsistenz in meinem Projekt zu erhalten. Gibt es eine Möglichkeit, gespeicherte Prozeduren zu verwenden? – burnt1ce
@Burnt: Können Sie Ihre Frage bearbeiten, um zu zeigen, wie Sie gespeicherte Prozeduren verwenden? Die Antwort hier zeigt eine Möglichkeit, gespeicherte Prozeduren zu verwenden, vielleicht verwenden Sie einen anderen Weg. Bitte fügen Sie Code bei, es wird definitiv helfen. –
Passing null auf eine gespeicherte Prozedur zu senden, ein Befehlsobjekt verwenden.
Set cn = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Data Source=.\Test"
Set cmd.ActiveConnection = cn
cmd.CommandText = "TestTable.sp_ModifyData"
cmd.CommandType = 4
cmd.NamedParameters = True
set cnParam = cmd.CreateParameter("@RowID",3,3,,-1)
cmd.Parameters.Append cnParam
set cnParam = cmd.CreateParameter("@AddRemoveModify",3,1,,0)
cmd.Parameters.Append cnParam
set cnParam = cmd.CreateParameter("@Value1",3,1,,0)
cmd.Parameters.Append cnParam
set cnParam = cmd.CreateParameter("@Value2",8,1,-1,"Test")
cmd.Parameters.Append cnParam
set cnParam = cmd.CreateParameter("@value3",5,1,,null)
cmd.Parameters.Append cnParam
set cnParam = cmd.CreateParameter("@value4",5,1,,0)
cmd.Parameters.Append cnParam
set cnParam = cmd.CreateParameter("@value5",8,1,-1,"")
cmd.Parameters.Append cnParam
cmd.Execute
cn.Close
Set cmd = Nothing
Set cn = Nothing
Entschuldigung, ich habe nicht viel darüber nachgedacht, die Felder in meiner Datenbank zu benennen.
Versuchen Sie VbNullString oder VbNullChar. Möglicherweise benötigen Sie auch adParamNullable.
set cnParam = cmd.CreateParameter("@value3",5,1,,vbNullString)
cnParam.Attributes = adParamNullable
cmd.Parameters.Append cnParam
Update:
Eigentlich ist das für mich gearbeitet:
set cnParam = cmd.CreateParameter("@value3",5,1,,Null)
cnParam.Attributes = adParamNullable
cmd.Parameters.Append cnParam
Huh, das auch gearbeitet:
set cnParam = cmd.CreateParameter("@value3",5,1,,Null)
cmd.Parameters.Append cnParam
Go figure.
Kurze Antwort: Setzen Sie den Parameterwert auf Null
(VBScript-Schlüsselwort).
- 1. Übergeben eines Arrays von Parametern an eine gespeicherte Prozedur
- 2. Übergeben eines Arrays an eine gespeicherte SQL Server-Prozedur
- 3. Übergeben eines Parameters über Stapel an Prozedur in MASM
- 4. Übergeben eines Parameters an eine Vergleichsfunktion?
- 5. Übergeben eines Parameters an Html.ActionLink
- 6. Übergeben von mehreren Parametern an gespeicherte Prozedur
- 7. Übergeben Sie eine benutzerdefinierte Tabelle an eine gespeicherte Prozedur
- 8. Übergeben eines Parameters an eine XSL-Datei mit jcabi
- 9. Übergeben einer Liste <string> an eine gespeicherte Prozedur
- 10. Wie kann ich einen Nullwert für das Datum in vb.net an SQL gespeicherte Prozedur übergeben?
- 11. Übergeben Sie Array in eine gespeicherte Prozedur
- 12. Eclipse Tastaturkürzel zum Übergeben eines Parameters an eine Methode
- 13. Übergabe eines Arrays von IDs an eine gespeicherte Prozedur
- 14. ABSTEIGEND/ASCENDING Parameter an eine gespeicherte Prozedur
- 15. <asp: ControlParameter - übergeben Nullwert an DB über sqldatasource
- 16. Problem beim Eingeben eines VB-Parameters in eine gespeicherte Prozedur (FireBird)
- 17. Übergeben Sie Funktion Wert an gespeicherte Prozedur in MS SQL
- 18. Zum Übergeben von Massenzeilen von Daten an gespeicherte Prozedur
- 19. Übergeben Sie Parameter an eine gespeicherte Prozedur in einem Crystal Reports-Unterbericht?
- 20. Übergeben eines Parameters zusammen mit Callback?
- 21. Übergeben Sie mehrere Werte an die gespeicherte Prozedur
- 22. Übergeben einer Variablen an SQL-gespeicherte Prozedur ByRef?
- 23. übergeben Parameter an gespeicherte Prozedur von Crystal Reports-Designer
- 24. Senden einer leeren Liste an gespeicherte Prozedur
- 25. Gespeicherte Prozedur aufrufen VBA
- 26. Wie NULL-Wert in gespeicherte Prozedur von Java übergeben?
- 27. C# gespeicherte Prozedur ohne optionale Parameter übergeben
- 28. MVVMLight-- Übergeben eines Parameters an einen ViewModel-Konstruktor?
- 29. Ruby-Routing beim Übergeben eines Parameters an den Controller
- 30. Gibt es eine sauberere oder elegantere Möglichkeit, mehrere Parameter über Entity Framework an die SQL-gespeicherte Prozedur zu übergeben? mehrere Parameter an eine gespeicherte Prozedur mit Entity Framework
Verbrannt, können Sie einen Beispielcode für das Übergeben von Nullwerten ... Inline-String-Erstellung oder typisierte Parameter auf Ihrem ADO-Command-Objekt bereitstellen? –