Is het mogelijk om de (door mij toegevoegde) constraints van een FDQuery uit te voeren voor het huidige record?
Is het mogelijk om de (door mij toegevoegde) constraints van een FDQuery uit te voeren voor het huidige record?
Letterlijk genomen zijn Constaints beperkingen, een beperking voor iets en in dit geval een dataset.
Als je een query uitvoert met die beperking of als filter, krijg het resultaat te zien, of juist niet als je buiten de beperking ga komen.
De vraagstelling is al beantwoord, want dat is het resultaat van die query en dus nooit het huidige record of je moet de query opnieuw gaan uitvoeren.
Of snap ik je vraag niet ?
Peter
10.4.2, Delphi2010, of Lazarus 2.2.0
Volgens mij doel jij op een filter.
Een constraint kan een recordconstraint zijn: een checkconstraint, zoals die ook in de database (kunnen) bestaan. Dat is dus in principe een sql-statement dat bijvoorbeeld een restrictie legt op een int-waarde.
Constraints is een collection binnen de dataset.
Of logische checks binnen het record.
De constraints vuren - geloof ik - automatisch af na een Post().
Nu vroeg ik me af of deze constraints ook "handmatig" afgevuurd kunnen worden zonder een Post(). Gewoon: Constraints.Execute() of zoiets...
Ok ik heb uitgevonden hoe je per record "handmatig" constraints checkt per record in FireDAC zonder dat je expliciet hoeft te edit/posten. (Onderliggende table checkconstraints aanroepen voor de huidige row).
Ik ben benieuw of iemand het volgende weet..
Ik importeer de constraint expressions van MS SQL en voeg deze toe als constraints aan een TFDQuery.
Daar staat dan bijvoorbeeld: veld >= 0 and veld <= 4. Of ingewikkelder natuurlijk.
Bij SQL Server gaat deze constraint goed op een nullable veld.
Maar de FireDAC expressie evaluator geeft een fout als het veld null is.
Zou hier iets aan te doen zijn?
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks