可为空的 int 参数以执行非查询

本文关键字:执行 查询 参数 int | 更新日期: 2023-09-27 18:36:31

如果参数为空,我需要将DbNull.Value作为参数传递。

int? param1;
DbProvider.ExecuteNonQuery("myStoredProcedure", param1);

我尝试使用类似的东西

param1 = param1 == null ? DbNull.Value : param1;

但这种转换是无效的。

可为空的 int 参数以执行非查询

您正在将结果分配给int?变量,而DbNull.Value不是。 尽量不要将其分配给int?

int? param1;
DbProvider.ExecuteNonQuery("myStoredProcedure", param1 == null ? DbNull.Value : param1);

或将其分配给object

object par = param1 == null ? DbNull.Value : param1;
DbProvider.ExecuteNonQuery("myStoredProcedure", par);