En VBScript (entorno ASP), ¿es posible pasar un parámetro con un valor nulo a un procedimiento almacenado?VBScript: ¿Pasar un parámetro con un valor nulo a un procedimiento almacenado?
Respuesta
Si está creando cadenas y comprobando/protegiendo contra la inyección de SQL, puede simplemente usar la palabra nulo en su cadena SQL, o una declaración EXEC delimitada por comas.
'calling a stored proc.
strSQL = "EXEC UpdateCustomer @CustomerID=" & iCustomerID + ",@PhoneNumber=null"
Aquí es cómo utilizar nulo en una cadena construida manualmente para enviar a la base de datos
strSQL = "UPDATE Customer SET PhoneNumber = null WHERE CustomerID = " + iCustomerID
Lamentablemente tengo que usar el procedimiento almacenado para mantener la consistencia en mi proyecto. ¿Hay alguna manera de que pueda usar los procedimientos almacenados? – burnt1ce
@Burnt: ¿puede editar su pregunta para mostrar cómo está utilizando los procedimientos almacenados? La respuesta aquí muestra una forma de usar los procedimientos almacenados, quizás esté usando otra forma. Por favor, incluye un código, definitivamente ayudará. –
Pasando nulo en un procedimiento almacenado, utilizando un objeto de comando.
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
Lo siento, no puse mucha atención en nombrar los campos en mi base de datos.
Pruebe vbNullString o vbNullChar. Es posible que también necesite adParamNullable.
set cnParam = cmd.CreateParameter("@value3",5,1,,vbNullString)
cnParam.Attributes = adParamNullable
cmd.Parameters.Append cnParam
Actualización:
En realidad esto funcionó para mí:
set cnParam = cmd.CreateParameter("@value3",5,1,,Null)
cnParam.Attributes = adParamNullable
cmd.Parameters.Append cnParam
Huh, esto funcionó demasiado:
set cnParam = cmd.CreateParameter("@value3",5,1,,Null)
cmd.Parameters.Append cnParam
Ir figura.
Respuesta corta: establezca el valor del parámetro en Null
(palabra clave VBScript).
- 1. Cómo pasar un parámetro nulo con Dapper
- 2. Pasar matriz a un procedimiento almacenado
- 3. Pasar datatable a un procedimiento almacenado
- 4. Cómo pasar un parámetro a un SQL de empleo que ejecutar un procedimiento almacenado
- 5. Pasando uniqueidentifier parámetro a un procedimiento almacenado de
- 6. podemos devolver un valor nulo del procedimiento almacenado
- 7. Parámetro de valores múltiples de SSRS con un procedimiento almacenado
- 8. ¿Cómo usar un valor de un procedimiento almacenado en otro?
- 9. Enlazando la lista vacía o el valor nulo al parámetro de tabla de valor en un procedimiento almacenado (.net)
- 10. Llamar a un procedimiento almacenado con asp.net
- 11. Pasar una matriz de parámetros a un procedimiento almacenado
- 12. ¿Cómo pasar una matriz 2D a un procedimiento Almacenado?
- 13. ¿Ejecutar el procedimiento almacenado con un parámetro de salida?
- 14. ¿Puedo tener un parámetro OUTPUT opcional en un procedimiento almacenado?
- 15. Comprueba si un parámetro es nulo o está vacío en un procedimiento almacenado
- 16. Pasar parámetros como Xml a un procedimiento almacenado
- 17. Cómo llamar a un procedimiento almacenado desde otro procedimiento almacenado?
- 18. Ejecutar un procedimiento almacenado dentro de un procedimiento almacenado
- 19. Procedimiento almacenado NULL Parámetro
- 20. ¿Puede pasar el número 'SUPERIOR' como parámetro a un procedimiento almacenado?
- 21. ¿Cómo puedo pasar un valor nulo por la fecha en el procedimiento almacenado de vb.net a sql?
- 22. ¿Cómo invocar a un delegado con un parámetro nulo?
- 23. Llamar a un procedimiento almacenado en un procedimiento almacenado en MySQL
- 24. Llamar a un procedimiento almacenado con XML Datatype
- 25. Cómo llamar a un procedimiento almacenado (con parámetros) desde otro procedimiento almacenado sin tabla temporal
- 26. Delphi: ¿Cómo obtener el valor de un parámetro de salida de un procedimiento almacenado?
- 27. Cómo obtener el valor devuelto de un procedimiento almacenado
- 28. Cómo pasar un valor de parámetro a a4j: jsFunction
- 29. ¿Usar la función como parámetro al ejecutar un procedimiento almacenado?
- 30. DESC y ASC como un parámetro en el procedimiento almacenado
Quemado, ¿puede proporcionarnos algún código de muestra sobre cómo le gustaría pasar los valores nulos ... construcción de cadenas en línea o parámetros escritos en su objeto Comando ADO? –