2009-05-20 5 views
0

Je retourne un ensemble de données en utilisant SubSonic.SqlQuery de deux joints objets, mais je ne peux pas sembler comprendre comment effectuer cette clause where:Custom où clause avec une chaîne?

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

j'ai essayé de le faire comme ça, mais n'a pas aimé le .IsEqualTo (string):

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

Répondre

0

Vous ne pouvez passer une valeur à une méthode de contrainte (IsEqualTo) en subsonique de sorte que le suivant obtiendra toutes les lignes soumises en Mars:

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

Ce qui suit obtenir toutes les lignes présenté dans le mois en cours:

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

J'essaie de ne rechercher que par une colonne. J'ai une table avec une colonne DateTime 'SubmittedOn' et je veux retourner tous les enregistrements qui se sont produits dans le mois en cours. Dans SQL MONTH (getdate()) renvoie le mois en cours car MONTH est une fonction SQL. Voici le code SQL: SELECT * FROM Récompenses WHERE MONTH (SubmittedOn) = MOIS (getdate()) Finalement, j'ai besoin d'obtenir l'année là-bas aussi, mais je peux comprendre cela une fois que j'ai le mois là-dedans: AND Year (SubmittedOn) = Année (GETDATE()) Également: quelles sont les étiquettes de code si je veux entrer du code dans StackOverflow comme l'utilisateur dans la première réponse? – Scott

+0

OK Je pense que je vois ce que vous essayez de faire maintenant et j'ai mis à jour ma réponse. Vous obtenez le formatage du code en mettant quatre espaces devant chaque ligne que vous voulez mettre en forme. –

+0

Merci c'était ça! – Scott

0

Il semblerait qu'il vous manque un support. Essayez:

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

Bonne prise, mais cela ne semble pas fixer: SubSonic.SqlQueryException: Échec de la conversion du VARC Valeur har 'Month (getdate())' pour le type de données int. – Scott

+1

Je ne sais pas SubSonic, mais pouvez-vous le réécrire comme: .Where ("Month (SubmittedOn) = Month (getdate())") – RedFilter