繁体   English   中英

将Request.QueryString转换为Datetime,然后在C#asp.net中的linq中使用datacontext进行获取

[英]convert Request.QueryString toDatetime and then fetch using datacontext in linq in c# asp.net

我想使用request.querystring从另一个页面获取Timedate值,然后将其用作查询以比较并提取匹配的数据。 在linq中查询的功能是:

   protected void User_Querytime()
    {
    DataClasses2DataContext dc1 = new DataClasses2DataContext();
    String  Data = Request.QueryString["TimeOfMessage"];

                var query7 = from u in dc1.syncback_logs
                             where u.TimeOfMessage = Data
                             orderby u.TimeOfMessage descending
                             select u;
                GridView1.DataSource = query7;
                GridView1.DataBind();
    }

在这里,我得到的“ Request.QueryString [“ TimeOfMessage”]]是DateTime(例如:2008年8月25日9:07:19 AM)。 我想将其与数据库中的“ u.TimeOfMessage”进行比较,并提取匹配的记录。

当我使用todatetime函数从字符串转换为datetime时,返回的值是bool,因此无法与数据库中datetime格式的“ Timeofmessage”进行比较。 有人可以帮我吗?

您是指Convert.ToDateTime吗? 这将返回DateTime(不是bool)。 您是说DateTime.TryParse吗? 只需使用以下任何一项:

DateTime when = DateTime.Parse(data);
DateTime when = DateTime.ParseExact(data);
DateTime when = Convert.ToDateTime(data);

然后在查询中使用“ when”。 如果您知道它们都相等,我不确定排序的目的,但是...我错过了什么吗?

如果问题是您想要时间部分(而不是日期部分),您可以澄清一下吗?

TryParse确实会产生错误(因为解析成功):

Dim DateText = Request.QueryString("date")
Dim MyDate As DateTime = Nothing
If DateTime.TryParse(DateText, MyDate) Then
  '--Date was passed correctly
End If

问候克里斯托夫

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM