gpt4 book ai didi

c# - 无法使用字典为日期插入空值

转载 作者:行者123 更新时间:2023-11-30 20:26:29 27 4
gpt4 key购买 nike

我正在尝试使用 C# 和 SQL 插入记录,但是当日期列为空时出现此错误,我搜索了类似的案例但尚未解决。它插入 01/01/1900,表中的列是 Datetime 任何想法或类似的案例链接。

[HttpPost]
public HttpResponseMessage save (Education edu)
{
Dictionary<string, object> xmt = new Dictionary<string, object>();

xmt.Add("@Staff_Key", edu.Staff_Key);
xmt.Add("@Type_Education", edu.Type_Education);
xmt.Add("@Qual", edu.Qual);
xmt.Add("@Uni", edu.Uni);
xmt.Add("@Date_Issue", edu.Date_Issue.ToString() == null ? "Null" : edu.Date_Issue.ToString());
xmt.Add("@Notes", edu.Notes);

obj.ExecNonQuery(
@"insert into HR_DocEducation (Staff_Key,Type_Education,Qual,Uni,Date_Issue,Notes)
values (@Staff_Key,@Type_Education,@Qual,@Uni,@Date_Issue,@Notes) ",xmt);

HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created);
return response;

最佳答案

哈桑,我遇到了同样的问题,除了使用可为 null 的 DateTime DateTime? 对象之外的技巧是更正三元运算符,如下所示:

xmt.Add("@Date_Issue", edu.Date_Issue == null ? (object) DBNull.Value : (object)edu.Date_Issue);

代替

xmt.Add("@Date_Issue", edu.Date_Issue.ToString() == null ? "Null" : edu.Date_Issue.ToString());

关于c# - 无法使用字典为日期插入空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49869859/

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