cs_cheggour
Messages postés20Date d'inscriptionmercredi 15 janvier 2003StatutMembreDernière intervention24 novembre 2008 24 janv. 2008 à 15:51
Non c' pas ca ,
ParamA='is null' et ParamB = 'is not null'
c à d que VQuery.ParamByName('ParamA').value:='is Null' et VQuery.ParamByName('ParamA').value:='is not Null'
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 24 janv. 2008 à 18:14
La même requête écrite sous paradox, Firebird, access se présentera différemment :
"Non c' pas ca ,
ParamA='is null' et ParamB = 'is not null'
c à d que VQuery.ParamByName('ParamA').value:='is Null' et VQuery.ParamByName('ParamA').value:='is not Null'"
Cà marche cette mouture sous SQL server, parce que tu poses une question et après tu donnes la réponse..
?
cantador
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 24 janv. 2008 à 23:31
Vous confondez deux choses.
1/- Si a et b sont du type float, comment voulez-vous que votre les compare à des chaines ?
2/- Si vous voulez tester si une valeur est nulle (ou non nulle), alors il faut employer une requête SQL adaptée comme l'a indiqué Foxi plus haut.
Cette dernière solution étant la meilleure et la plus efficace.
N'y aurait-il pas confusion entre paramétrée et requête construite dynamiquement ?
May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.afipa.net/
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 26 janv. 2008 à 18:25
ben oui, j'ai pas tout écrit; mais la difficulté c'est tjrs le WHERE !
si tu y tiens..
with QEmploye.SQL do
begin
Clear;
Add('SELECT * FROM EMPLOYE ');
Add('WHERE ((ADRESSE = '') or (ADRESSE is Null)) AND ');
Add('((TEL = '') or (TEL is Null)) ');
QEmploye.Open;
end;
cs_cheggour
Messages postés20Date d'inscriptionmercredi 15 janvier 2003StatutMembreDernière intervention24 novembre 2008 28 janv. 2008 à 11:25
Salut tous,
merci pour votre aide mais vos réponses n'a rien avoir avec se que je souhaite
:
voila mon exemple la où j'ai un problème
j'ai un composant TQuery dont le nom Emp en
mode graphique, je mis dans la propriété SQL (SELECT * FROM EMPLOYE WHERE
Salaire = : Salaire )
dans mon code :
Emp.ParamByName('Salaire').value: ='is Null';
Emp.ExecSQL;
......;
Alors la Delphi m'affiche une erreur de syntaxe genre valeur de salaire est de type
Float par contre la valeur que je transmis de type caractère ,j'ai changé comme
le type de paramètre en caractère mais ca marche pas :(