J'attemping pour créer le script SQL suivant dans une requête subsonique que je peux utiliser avec une collection:La meilleure façon d'interroger une base de données en utilisant une instruction OU
Select * from tableA
where tableA.InvoiceID = @Invoice
and tableA.VersionID = @VersionID
and tableA.ActiveDate >= GetDate()
and (tableB.InActiveDate is null or tableB.InActiveDate <= GetDate())
Voici mon code actuel:
orders = new OrdersCollection();
query = new SubSonic.Query(Tables.Orders);
query.WHERE("InvoiceID", Invoice.InvoiceID);
query.AND("VersionID", version.VersionID);
query.AND("ActiveDate", SubSonic.Is.LessThanOrEqualTo(System.DateTime.Now.ToString()).Value);
query.AND("InActiveDate", SubSonic.Comparision.Is, null).OR("InActiveDate", SubSonic.Is.GreaterThanOrEqualTo("System.DateTime.Now.ToString()).Value);
query.CommandTimeOut = intSubSonicTimeOut; partXrefColl.Load (FilePartXref.FetchByQuery (requête));
Le problème que je crois rencontrer est celui de l'évaluation des dates et de l'instruction OR. Je l'ai essayé avec juste le InvoiceID et VersionID et je reçois des données à la collection.
Toute aide sera grandement appréciée.
Qu'est-ce qui ne va pas, s'il vous plaît? – gbn