11
votes

VBScript: Passer un paramètre avec une valeur null à une procédure stockée?

dans VBScript (environnement ASP), est-il possible de passer un paramètre avec une valeur null à une procédure stockée?


1 commentaires

Burnt, pouvez-vous fournir un exemple de code sur la manière dont vous souhaitez transmettre des NULLS ... Bâtiment en ligne en ligne ou paramètres dactylographiés sur votre objet de commande ADO?


4 Réponses :


2
votes

Si vous construisez des chaînes de construction et que vous vérifiez / gardant contre l'injection SQL, vous pouvez simplement utiliser le mot NULL dans votre chaîne SQL ou une instruction Exec Délimited.

strSQL = "UPDATE Customer SET PhoneNumber = null WHERE CustomerID = " + iCustomerID


2 commentaires

Malheureusement, je dois utiliser une procédure stockée pour maintenir la cohérence dans mon projet. Y a-t-il une façon de pouvoir utiliser des procédures stockées?


@Burnt: Pouvez-vous modifier votre question pour montrer comment vous utilisez des procédures stockées? La réponse montre ici un moyen d'utiliser des procédures stockées, peut-être que vous utilisez un autre moyen. Veuillez inclure du code, cela vous aidera certainement.



10
votes

Passer NULL à une procédure stockée, à l'aide d'un objet de commande.

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


0 commentaires

5
votes

Essayez VBNullString ou VBNullchal. Vous avez peut-être également besoin d'Adparamnullamable.

set cnParam = cmd.CreateParameter("@value3",5,1,,Null)  
cmd.Parameters.Append cnParam


0 commentaires

2
votes

Réponse courte: Définissez la valeur de paramètre sur null (mot clé VBScript).


0 commentaires