cannot insert null for date using dictionary
我正在尝试使用C_和SQL插入记录,但当日期列为空时出现了这个错误,我搜索了类似的情况,但还没有解决。它插入了01/01/1900,表中的列是datetime any idea或类似的case链接。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [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; |
哈桑我有同样的问题,除了使用可以为空的datetime
1 | xmt.Add("@Date_Issue", edu.Date_Issue == null ? (object) DBNull.Value : (object)edu.Date_Issue); |
而不是
1 | xmt.Add("@Date_Issue", edu.Date_Issue.ToString() == null ?"Null" : edu.Date_Issue.ToString()); |
正如Asthasrivastava所说,您可以在空值上找到
问题:日期时间"空"值
一种可能的方法是使用属性
在简短的查找之后,我发现了一个与您类似的问题,以
问题:可以为空的日期时间和数据库