我想使用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(例如:8/25/2008 9:07:19 AM)。我想将它与数据库中的"u.TimeOfMessage"进行比较,并提取匹配的记录。
当我使用todatetime函数从字符串转换为datetime时,返回的值是bool,因此无法将其与数据库中的日期时间格式"Timeofmesage"进行比较。有人能帮我吗?
你是指Convert.ToDateTime吗?这将返回DateTime(而不是bool)。你是说DateTime.TryParse吗?只需使用以下任一项:
DateTime when = DateTime.Parse(data);
DateTime when = DateTime.ParseExact(data);
DateTime when = Convert.ToDateTime(data);
然后在查询中使用"when"。如果你知道他们都是平等的,我不确定按它排序的目的,不过。。。我错过什么了吗?
如果问题是你只想要时间部分(而不是日期部分),你能澄清一下吗?
TryParse确实产生了一个bool(作为解析的成功):
Dim DateText = Request.QueryString("date")
Dim MyDate As DateTime = Nothing
If DateTime.TryParse(DateText, MyDate) Then
'--Date was passed correctly
End If
问候Christoph