C# 将查询参数转换为日期数据类型

C# 将查询参数转换为日期数据类型,c#,asp.net,datetime,asp.net-web-api,C#,Asp.net,Datetime,Asp.net Web Api,我们正在创建一个API,它接收两个输入参数,这些参数将用于从数据库中选择数据的查询。在两个输入参数中,一个是日期。因此我们的API调用将是/API/DataReturn?id=56&DOB='01-Jan-2016' 我计划以字符串格式获取这两个输入参数并转换它们 [HttpGet] public HttpResponseMessage Getdetails(string ROOM,string SUBMITDATE) { DateTime submit_date = DateTime.Pa

我们正在创建一个API,它接收两个输入参数,这些参数将用于从数据库中选择数据的查询。在两个输入参数中,一个是日期。因此我们的API调用将是
/API/DataReturn?id=56&DOB='01-Jan-2016'
我计划以字符串格式获取这两个输入参数并转换它们

[HttpGet]
public HttpResponseMessage Getdetails(string ROOM,string SUBMITDATE)
{
  DateTime submit_date = DateTime.Parse(SUBMITDATE.Trim()).ToString("dd-MMM-yyyy", CultureInfo.InvariantCulture);
  string connStr = ConfigurationManager.ConnectionStrings["TGSDataConnection"].ConnectionString;
  using (OracleConnection dbconn = new OracleConnection(connStr))
        {
            DataSet userDataset = new DataSet();
            var strQuery = "SELECT * from LIMS_SAMPLE_RESULTS_VW where ROOM = " + ROOM +"and SUBMITDATE =" +"'"+submit_date+"'";
它抛出错误,指出当前上下文中不存在名称“CultureInfo”。我不确定我是否做对了代码:

DateTime submit_date = Convert.ToDateTime(DateTime.Parse(SUBMITDATE.Trim()).ToString("dd-MMM-yyyy", CultureInfo.InvariantCulture));

使用
System.Globalization
命名空间来解决
CultureInfo
问题。然后使用
DateTime.ParseExact
方法:

DateTime submit_date = DateTime.ParseExact("01-Jan-2016", "dd-MMM-yyyy", 
                                           CultureInfo.InvariantCulture);

使用名称空间系统。全球化我添加了系统。全球化现在正在抛出
无法隐式地将类型“string”转换为“System.DateTime”
尝试DateTime.tryparseexact无法将字符串分配给DateTime。您正在获取DateTime.Parse的结果,将其转换为字符串,然后尝试将其分配给DateTime。@RickS我不明白我们会这样做。我正在尝试将它们转换为dd MMM yyyy格式的日期数据类型,因为在oracle中,它们作为上述格式,因此我们可以在选择查询中使用它们。我正在获取运行时错误
FormatUserException未经用户处理code
Convert.ToDateTime(DateTime.Parse(“01-Jan-2016”.Trim()).ToString(“dd-MMM-yyyy”,CultureInfo.InvariantCulture))我在这里得到的输入参数是字符串。我正在尝试将它们转换为dd MMM yyyy格式的日期数据类型,因为在oracle中,它们是上述格式,因此我们可以在查询中使用它们。