In C# .net, ich habe den folgenden Datasource-Setup, das ich dynamisch eine WHERE-Klausel in der Code-behind versuchen zuweisen ...Einstellen den LinqDataSource Where-Klausel mit Datetime-Spalte
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="MyNameSpace.DataClasses1DataContext"
TableName="MyTableWithADateTimeColumn" >
</asp:LinqDataSource>
Der Code hinter etwa wie folgt aussieht ...
LinqDataSource1.Where = "MyDateColumn == DateTime(" + DateTime.Now + ")";
Das gibt mir einen Fehler von ')' or ',' expected
. Ich habe auch versucht, es in Anführungszeichen Gießen, als auch, wie ohne sie als Datum- und Gießen und mit Anführungszeichen ...
LinqDataSource1.Where = @"MyDateColumn == """ + DateTime.Now + @""" ";
Das gibt mir Operator '==' incompatible with operand types 'DateTime' and 'String'
. Ich habe mehrere andere Wege ausprobiert, aber mir fehlt hier offensichtlich etwas.
Ähnliche Code funktioniert gut für Strings.
werfen Sie einen Blick zurück ... es gibt keinen neuen DateTime (Zeichenfolgenwert) -Konstruktor, den Sie verwenden müssen DateTime.Parse (Zeichenfolgenwert) ... – bytebender
Mit der DateTime in Anführungszeichen funktioniert das. – BrianG