Home Functional Families SQL Tools Review SQL Tools 2 van Elk Niet ondersteund

Twee van elk

Als u een blik werpt op de lijst van SQL Tools functies valt u wellicht op dat van bijna alles er twee zijn. Dit is de reden.....

SQL Tools kan omgaan met extreem complexe programma's. In principe kan SQL Tools Pro DLL theoretisch worden gebruikt om een programma te schrijven dat 256 verschillende databases op hetzelfde moment gebruikt met elk 256 commando's per database actief.  Een meer realistisch scenario is een programma dat verschillende databses gebruikt met elke een actief commando, of een database met verschillende actieve commando's in één database, maar alles is mogelijk.
(We gebruiken hier het Nederlandse woord 'commando' voor de Engelse term 'statement')

Maar meestal zullen de meeste programma's een enkele databse gebruiken met één enkel commando tegelijkertijd.

Hier is een voorbeeld van 'twee van elk'…

Een van de meest gebruikte aanroepen van SQL Tools functies is SQL_Statement. Het wordt gebruikt om SQL commando's uit te voeren en vertelt een database wat er moet gebeuren. Om een dergelijke functie te kunnen gebruiken moet u een database nummer (1-256) , een commandonummer (1-256), een parameter als %PREPARE of %EXECUTE, en een string dat het SQL commando bevat.

Aangezien u in de meeste gevallen gebruik zult maken van database #1 en commando #1 is het erg vervelend om bij elke functie parameter lijst '1,1' in te moeten typen, dus biedt SQL Tools een complete set van afgekorte functies die de standaard waardes voor het database bestand en het commandonummer bevatten.

Als een functienaam de waarde "Database", "Statement", 'Table", "Column", of "Result" bevat, dan is het een volledige, algemene functie waarbij u het database nummer en commando nummer dient op te geven.

Aan de andere kant: als een functie de afkorting "DB", "Stmt", "Tbl", "Col", of "Res" bevat, dan is het de afgekorte functie waarbij geen parameters voor database of commando kan worden gebruikt.
(NB: woorden als "Info" worden nooit gebruikt in functienamen en geven geen afgekorte functies aan.)

Hier is een specifiek voorbeeld van een algemen functie…

SQL_Statement 1, 1, %EXECUTE, "SELECT * FROM MYTABLE"

En hier is de afgekorte functie die precies dezelfde operatie uitvoert…

SQL_Stmt %EXECUTE, "SELECT * FROM MYTABLE"

De SQL_Statement en SQL_Stmt functies worden 'tweelingen' genoemd.

Als u een programma schrijft dat slechts één database per keer gebruikt en ook één commando per keer, dan raden we u aan de afgekorte functies te gebruiken. Het scheelt u veel typewerk.

Als u een meer complex programma schrijft dan heeft u de keus:

  1. Gebruik de algemene functies overal,
  2. Gebruik de SQL_UseDB en SQL_UseStmt functies om aan te geven op welke databse en welk commandonummer de afgekorte functies slaan.

Bijvoorbeeld: een programma kan op de volgende manier gebruik maken van Database 1, Commando 3 gevolgd door Database 2, Commando 9…

SQL_Statement 1,3, %EXECUTE, "SELECT * FROM MYTABLE"

SQL_Statement 2,9, %EXECUTE, "SELECT * FROM YOURTABLE"

…of op de volgende manier…

SQL_UseDB 1
SQL_UseStmt 3
SQL_Stmt %EXECUTE, "SELECT * FROM MYTABLE"

SQL_UseDB 2
SQL_UseStmt 9
SQL_Stmt %EXECUTE, "SELECT * FROM YOURTABLE"

Als u vaak van database en commandonummer wijzigt en op hetzelfde moment, dan kunt u gebruiken…

SQL_UseDBStmt 2,9

…om beide tegelijk te wijzigen.

Het voordeel om de SQL_Use functies te gebruiken is: goed doet volgen. Met andere woorden: zodra u eenmaal  SQL_UseDB 2 heeft gebruikt, zullen alle volgende afgekorte functies database 2 blijven gebruiken, totdat u opnieuw SQL_UseDB gebruikt om een andere waarde als standaard te gebruiken. Op deze manier kunt u de  SQL_Use functies gebruiken om een database of commandonummer aan te geven en daarna vele afgekorte functies te gebruiken.

Het is ook mogelijk om beide functie-soorten door elkaar te gebruiken.

Bijvoorbeeld: als een programma 90% van de operaties met de ene databse doet en slechts 10% met een groep andere, kunt u de afgekorte functies gebruiken om databse 1, commandonummer 1 te gebruiken. De andere databses benadert u met de algemene functies. Het gebruik van de algemene functies verstoort het gebruik van de SQL_Use niet.


Terug naar SQL Tools

Copyright 1999 by Perfect Sync Inc
Nederlande vertaling Copyright 1999 by Henk Broekhuizen

 

Bezoek het PB forum in het Nederlands en/of teken mijn gastenboek.

Datum laatste aanpassing:
29 december 2003 03:42:22

Email mij voor reacties,
aanvullingen en correcties