Toon posts:

[Delphi] TQuery parameter invullen met NULL

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer een NULL waarde toe te kennen als parameter voor mijn TQuery component, maar dat wil niet echt lukken.

Als ik doe:

sqlUpdate.Query[ukInsert].ParamByName('firstname').Value := 'NULL';

dan wordt er een stringwaarde in de database gezet.
hoe maak ik hier een echte NULL van?

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Probeer dit eens:
code:
1
aQuery.ParamByName ('firstname').Clear();

https://fgheysels.github.io/


Verwijderd

Topicstarter
Tja dat had ik al ergens gelezen en geprobeer maar dan krijg ik steeds de melding:

Field 'firstname' is of an unknown type

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Tja, dan zet je eerst ff het type enzo van die parameter juist.
(Je kan dat doen in je Object Inspector als je je query 'at design time' in die TQuery component hebt ingesteld, kijk daarvoor eens in de Object Inspector naar de Params property van de TQuery)
Je kan het ook in je code doen door:
code:
1
aQuery.ParamByName('firstname').Type := ....

oid te doen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Hmm staat niks over in bij de object inspector (gebruik borland delphi 7), bij UpdateSQL componenten.... wel bij TQuery componenten....
En at design time kent hij de propery type niet

Verwijderd

Topicstarter
Ik probeer het wel even met een los TQuery component.
Zowiezo.... wat is eigenlijk het voordeel van een Tupdatesql tov 3 losse TQuery componenten?

Verwijderd

Topicstarter
Ik krijg het maar niet aan de gang.
Ik neem toch aan dat dit een bekend probleem is. Of insert iedereen ipv null een lege string of 'NULL' ofzoiets? :?

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Verwijderd schreef op 26 september 2003 @ 14:48:
Ik krijg het maar niet aan de gang.
Ik neem toch aan dat dit een bekend probleem is. Of insert iedereen ipv null een lege string of 'NULL' ofzoiets? :?
Als je nu een TQuery component hebt, met en de SQL property is dit:
code:
1
INSERT INTO tabel (veld1, veld2) VALUES (:veld1, :veld2)


En je zet de parameters - types enzo goed en je voert deze code uit:
code:
1
2
3
aQuery.ParamByName ('veld1').Clear();
aQuery.ParamByName ('veld2').AsString := 'blaat';
aQuery.ExecSQL();

Dan krijg je toch het gewenste resultaat?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Heb even zitten experimenteren en nu werkt het.

Ik heb van het datatype ftString gemaakt.... zoals hij standaard stond op ftUnknown werkte het niet ....

Bedankt huh _/-\o_

[ Voor 8% gewijzigd door Verwijderd op 26-09-2003 15:07 ]

Pagina: 1