在C#.net中,我有以下的DataSource设置,我试图在后面的代码中动态地分配一个WHERE子句
<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="MyNameSpace.DataClasses1DataContext" TableName="MyTableWithADateTimeColumn" > </asp:LinqDataSource>
后面的代码看起来像这样…
LinqDataSource1.Where = "MyDateColumn == DateTime(" + DateTime.Now + ")";
这给我一个”””或”’的错误.我也尝试将其引用在引号内,而不是将其转换为DateTime和引号.
LinqDataSource1.Where = @"MyDateColumn == """ + DateTime.Now + @""" ";
这给我操作符’==’与操作数类型’DateTime’和’String’不兼容.我尝试了其他几种方法,但我显然在这里遗漏了一些东西.
类似的代码对字符串工作正常.
解决方法
这是吗那么这样呢
LinqDataSource1.Where = "MyDateColumn == DateTime.Parse(" + DateTime.Now + ")"; //can't create a date from string in constructor use .Parse()...