gpt4 book ai didi

c# - 如何为 char 设置 DBnull 值

转载 作者:行者123 更新时间:2023-11-30 20:33:36 25 4
gpt4 key购买 nike

我正在处理从数据库中获取记录的应用程序。但是当获取值为 null 的 char 数据类型时,它会显示错误。这是我的代码:

SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
lstServiceCall_Activity.Add(new OpportunityActivity()
{
Recontact = Convert.IsDBNull(reader["Recontact"]) ? (DateTime?)null : Convert.ToDateTime(reader["Recontact"]),
endDate = Convert.IsDBNull(reader["endDate"]) ? (DateTime?)null : Convert.ToDateTime(reader["endDate"]),
Details = (reader["Details"]) == DBNull.Value ? null : Convert.ToString(reader["Details"]),
Location = (reader["Location"]) == DBNull.Value ? 0 : Convert.ToInt32(reader["Location"]),
CardCode = (reader["CardCode"]) == DBNull.Value ? null : Convert.ToString(reader["CardCode"]),
Action = Convert.ToChar(reader["Action"]),
Priority = Convert.ToChar(reader["Priority"]),
CntctType = Convert.ToChar(reader["CntctType"]),
assignedTo = Convert.ToString(reader["AttendUser"])
}
);
}

对于char如何设置dbnull值。请提出一些建议。

最佳答案

您不能将 char 设置为 null,因此您必须通过在 之后添加 ? 使其可为空char,或使用空终止符作为“空”字符的标识符:

char? canBeNull = null;

char nullTerminated = '\0';

您选择哪个选项取决于您,但我会选择选项 1,因为这清楚地表明了您对这个变量的意图。

所以最终的结果应该是这样的:

char? Priority = reader["Priority"] != DBNull.Value
? Convert.ToChar(reader["Priority"])
: (char?)null;

关于c# - 如何为 char 设置 DBnull 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40037137/

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