gpt4 book ai didi

c# - 如何将可为空的 INT 类型传递给 INSERT INTO 参数

转载 作者:太空宇宙 更新时间:2023-11-03 21:32:56 24 4
gpt4 key购买 nike

我需要通过参数将可为 null 的 int 类型(作为可选参数传入,有时已定义,有时未定义...)传入 C# 中的 INSERT INTO 命令。下面是我的代码的屏幕截图。

这是有问题的代码行,为清楚起见被截断了......

public void WriteCustomColumns(... int? parentPlacementId = null)
{
command.Parameters["@ParentPlacementId"].Value = (parentPlacementId == null ? System.Data.SqlTypes.SqlInt32.Null.Value : parentPlacementId);

这是错误的屏幕截图...

screenshot

最佳答案

尽量不要使用条件运算符

SqlParameter p = command.Parameters.Add("@ParentPlacementId", SqlDbType.BigInt);
if(parentPlacementId.HasValue)
p.Value = parentPlacementId;
else
p.Value = DBNull.Value;

作为可能的替代方案(不推荐)

command.Parameters["@ParentPlacementId"].Value = 
(parentPlacementId.HasValue ? (object)parentPlacementId.Value : (object)DBNull.Value);

关于c# - 如何将可为空的 INT 类型传递给 INSERT INTO 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23376038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com