Ich denke es kommt auf den Verwendungszweck an..
wenn du nur schnell eine Zeile in die
DB schiessen willst würde ich sie persönlich zur Laufzeit erstellen und nur die Connection übergeben.
wenn du allerdings in der
Query schon Daten selektiert hast, diese bearbeiten willst und danach noch mit derselben
Query weiterarbeiten willst, würde ich sie komplett übergeben.
MfG