2009-05-20 5 views
0

ich Rückkehr eines Datensatzes mit SubSonic.SqlQuery von zwei Objekten verbunden sind, aber ich kann nicht scheinen, um herauszufinden, wie diese durchzuführen, wo Klausel:Benutzerdefinierte Where-Klausel mit einer Zeichenfolge?

Month(SubmittedOn)=Month(GETDATE()) AND Year(SubmittedOn)=Year(GETDATE()) 

ich es so zu tun versucht, aber es mochte nicht die .IsEqualTo (string):

.Where("Month(SubmittedOn)").IsEqualTo("Month(getdate()") 

Antwort

0

Sie nur in einem Wert zu einem Constraint-Methode (IsEqualTo) in SubSonic passieren kann, so dass die folgenden alle Zeilen März vorgelegt bekommen:

.Where("Month(SubmittedOn)").IsEqualTo(3) 

Nachstehend erhalten alle Zeilen im aktuellen Monat vorgelegt:

.Where("Month(SubmittedOn)").IsEqualTo(DateTime.Now.Month) 
+0

Ich versuche, nur nach einer Spalte zu suchen. Ich habe eine Tabelle mit einer 'SubmittedOn' DateTime-Spalte und möchte alle Datensätze zurückgeben, die im aktuellen Monat aufgetreten sind. In SQL MONTH (getdate()) wird der aktuelle Monat zurückgegeben, da MONTH eine SQL-Funktion ist. Hier ist der SQL-Code: SELECT * FROM Auszeichnungen WHERE MONAT (SubmittedOn) = MONAT (getdate()) Schließlich muss ich das Jahr auch dort bekommen, aber ich kann das herausfinden, sobald ich den Monat drin habe: AND Jahr (SubmittedOn) = Jahr (GETDATE()) Auch: Was sind die Code-Tags, wenn ich Code in StackOverflow wie der Benutzer in der ersten Antwort eingeben möchte? – Scott

+0

OK Ich denke, ich sehe, was Sie jetzt versuchen, und ich habe meine Antwort aktualisiert. Sie erhalten Code-Formatierung, indem Sie vor jede Zeile, die Sie formatieren möchten, vier Leerzeichen setzen. –

+0

Danke das war es! – Scott

0

Sieht aus, als ob Sie eine Klammer vermissen. Versuchen:

.Where("Month(SubmittedOn)").IsEqualTo("Month(getdate())") 
+0

Guten Fang, aber das scheint nicht, es zu beheben: SubSonic.SqlQueryException: Fehler bei der Konvertierung, wenn die VARC Umwandlung har Wert 'Monat (getdate())' zum Datentyp int. – Scott

+1

Ich weiß nicht SubSonic, aber können Sie es wie folgt umschreiben: .Where ("Month (SubmittedOn) = Monat (getdate())") – RedFilter

Verwandte Themen