der gedankliche ansatz einer db-klasse trennt einen aufgabenbereich ab. besser wäre es aber, in objekten zu denken und diese abzutrennen.
wenn die db-klasse nur weiterleitet und mit kompletten strings versorgt wird, ergibt sich das problem der erkennung dieses strings.
besser wäre es daher, der db-klasse keine kompletten sql-strings zu geben, sondern mit dieser in logischen blöcken zu arbeiten und die db-klasse selbst den benötigten sql-string aufbauen zu lassen. so ergibt sich auch nicht das problem, den string zu parsen um festzustellen was mit dem string eigentlich bezweckt werden soll.
ich habe auf http://fanelf.de/Dokumentation/Persistenz.htm eine demo wie so etwas aussehen kann. es lohnt sich, dieses zu verstehen.