2016-11-23 84 views
-1

我需要从数据库中检索一个具有DateTime作为主键的元组,我遇到的问题是它只与具有在中午之前的时间的日期时间一起工作,阿瑟赛德它不能获取任何东西,这里是代码:使用日期时间在SQL数据库中执行查询

string fecha = "22-11-2016 15:56:50"; 
DateTime myDate = DateTime.ParseExact(fecha, "dd-MM-yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); 
modelo.solicitud = BD.Solicitud.Find(myDate); 

的简历,我得到一个空的modelo.solicitud

如果字符串出生日期是像“2017年1月1日09:00:00 “(中午之前)​​它成功地从数据库中检索,但如果它像”01-01-2017 16:00:30“将无法检索到某物..

任何有关推荐的帮助将不胜感激。

+0

这可能是您的SQL语句中的某些东西,我们需要首先看到它。 –

+0

在CREATE TABLE中被定义为 - >> fecha DATETIME NOT NULL,我没有创建基地 –

+0

是的,那不是我们所需要的。我们需要实际与数据库交流的代码,如果有一个声明而不是仅仅使用EF或某些东西,我们需要那两个。 –

回答

1

无论您使用的DBMS如何,定义为DATETIME的字段(列)都会以二进制值的形式存储。您看到的是生成的根据为数据库定义的默认值或您为演示定义的特定格式的二进制值的字符串表示形式。

你可以试试默认的日期时间格式设定成类似'yyyy-mm-dd hh24:mm:ss'hh24是Oracle的方式来表达你想要的部分时间是在0-23范围内,你将需要检查这是如何在你的情况做)。

此格式还消除了与美国/欧洲书写日期方式有关的含糊之处(例如,美国的mm/dd/yyyy与欧洲的mm/dd/yyyy,例如3/4/16意味着3月2016年4月在美国,但2016年4月在欧洲举办2016年第3届)。

最后,西班牙语单词简历与英语有不同的含义(您通常会说摘要)。

希望你明白这一点。

+0

除了传入'DateTime'类型,所以我们不知道发生了什么。 –