[Delphi/ADO] Incorrect syntax near '@P2'

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BdR
  • Registratie: Juni 2001
  • Laatst online: 03-09 16:28

BdR

TV is gooder then books

Topicstarter
Ik zit met vreemd ado probleem.. Ik wil in een Delphi 7.0 applicatie zoeken in een MS-SQL database naar een patient. Hij moet eerst zoeken op patientid, maar het kan zijn dat deze niet opgegeven is (patientid = 0) en dan moet ie zoeken op geboortedatum. Dus ik heb een ADOQuery component met 2 parameters, paid van type ftInteger en gebdat van type ftDateTime. En als SQL had ik het volgende bedacht.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
declare @paid int
declare @gebdat datetime

set @paid = :paid
set @gebdat :gebdat

select
  *
from
  patient
where
  (paid = @paid)
or ( (gebdat = @gebdat) and (@paid = 0) )


Als ik deze ADOQuery open krijg ik de foutmelding Incorrect syntax near '@P2' :? !?

Waar komt deze foutmelding vandaan? Ik heb al vanalles geprobeert om het te verhelpen. De variabelen in SQL een ander naam geven, dus @a ipv @paid. Blokhaakjes om alle veldnamen in het where-gedeelte, dus [gebdat] ipv gebdat. Een alias voor de tabelnaam, dus "from patient p" en dan p.paid en p.gebdat. Maar niets helpt.. volgens mij is het gewoon een bug in ado componenten.

Ik ga het nu maar gewoon splitsen in 2 queries, de ene die zoekt op patientid en een aparte query die zoekt op geboortedatum, dus zonder declare en set enzo. Maar ik wil gewoon weten waarom mijn eerste oplossing niet werkt, en waar die vreemde foutmelding vandaan komt. :(

mijn web games -> Impossible Snake 2 :: Impossible Snake :: Snake Slider


Acties:
  • 0 Henk 'm!

  • Laurens-R
  • Registratie: December 2002
  • Laatst online: 29-12-2024
klopt dit ?

code:
1
2
set @paid = :paid
set @gebdat :gebdat


Wellicht zit het 'm in het verschil qua = tekens?

Acties:
  • 0 Henk 'm!

  • BdR
  • Registratie: Juni 2001
  • Laatst online: 03-09 16:28

BdR

TV is gooder then books

Topicstarter
:$ Wat stom! Ik ben gewoon een is-teken vergeten Ja, dat was het inderdaad.

Dan ben je er zo lang mee bezig en dan zie je zoiets simpels over het hoofd. :F

mijn web games -> Impossible Snake 2 :: Impossible Snake :: Snake Slider