als nette programmeur zorg je ervoor dat de specifieke dbms commando's van je programmeercode in een aparte class geschreven worden.
Dit om te zorgen dat als je een andere dbms wil, enkel de database-module moet herschrijven.
zoiets als
Maar de SQL queries zijn niet voor elke dbms het zelfde
deze moeten ook herschreven worden bij het veranderen van dbms.
Hoe voorzie je dit nu het best in je code ?
ik heb al 2 mogelijkheden bedacht :
1. zet al de queries in constanten bovenaan een module en dan je code :
2. voor elke specifieke query maak je in je database module een aparte functie
hoe programmeren jullie als je verschillende DBMS moet ondersteunen?
BTW ik weet dat er iets bestaat zoal PEAR ... maar dat wil ik nu even buiten beschouwing laten.
bij mij gaat het hier toevallig over php, maar ik had ook in een andere omgeving aan het ontwikkelen zijn...
Dit om te zorgen dat als je een andere dbms wil, enkel de database-module moet herschrijven.
zoiets als
PHP:
1
2
3
4
5
6
7
8
9
| class mysql{ function connect($DB_PARAMS){ $this->dbid = @mysql_connect($this->...blablbla); blablbla.... } function __query($querystring){ $result = mysql_query($querystring, $this->dbid); } } |
Maar de SQL queries zijn niet voor elke dbms het zelfde
deze moeten ook herschreven worden bij het veranderen van dbms.
Hoe voorzie je dit nu het best in je code ?
ik heb al 2 mogelijkheden bedacht :
1. zet al de queries in constanten bovenaan een module en dan je code :
PHP:
1
2
3
4
5
6
| var query_function1 = "select * from ..."); class dosomething{ $database->query(query_function1); ..... |
2. voor elke specifieke query maak je in je database module een aparte functie
PHP:
1
| $database->Getuserdata(); |
hoe programmeren jullie als je verschillende DBMS moet ondersteunen?
BTW ik weet dat er iets bestaat zoal PEAR ... maar dat wil ik nu even buiten beschouwing laten.
bij mij gaat het hier toevallig over php, maar ik had ook in een andere omgeving aan het ontwikkelen zijn...
[ Voor 7% gewijzigd door NMe op 01-09-2006 21:43 ]