PL1994 Geschrieben 25. September 2014 Geschrieben 25. September 2014 Hallo, ich habe folgendes Problem: Ich möchte mehrere SQL-Anweisungen (nicht direkt hintereinander, sondern an verschiedenen Programmstellen) ausführen. Gibt es im C++ API für SQLite die Möglichkeit, dafür nur ein einziges Statement-Objekt zu verwenden. In der Dokumentation werden nur die Methoden "Reset" und "Finalize" beschrieben. Keine davon würde es aber ermöglichen, dem Statement eine komplett neue Anweisung zuzuordnen. Geht das überhaupt oder muss ich für jede Anweisung/jeden Anweisungsblock ein separates Statement-Objekt verwenden? Gruß PL1994 Zitieren
Klotzkopp Geschrieben 25. September 2014 Geschrieben 25. September 2014 Das klingt nach einem XY-Problem. Warum nicht ein Statement-Objekt pro Anweisung? Zitieren
PL1994 Geschrieben 25. September 2014 Autor Geschrieben 25. September 2014 Es sind viele Anweisungen. Es wäre einfach praktischer, nur ein Statement-Objekt zu verwenden. Das würde mir etliche Deklarationen ersparen. Zitieren
Klotzkopp Geschrieben 25. September 2014 Geschrieben 25. September 2014 Es wäre einfach praktischer, nur ein Statement-Objekt zu verwenden. Das würde mir etliche Deklarationen ersparen.Das ist der falsche Ansatz. Wiederholungen vermeidet man nicht durch Objekt-Recycling, sondern durch Abstraktion. Lagere die immer gleichen Code-Fragmente in eine Funktion aus. Oder benutz gleich sqlite3_exec, wenn deine Anweisungen nicht parametriert sind. Zitieren
PL1994 Geschrieben 26. September 2014 Autor Geschrieben 26. September 2014 sqlite3_exec würde mir hier nichts bringen, weil ich dann verschiedene Callbacks schreiben müsste. Auslagern kann ich da leider auch wenig. Es geht wie gesagt nur um die Deklarationen der verschiedenen Statements. Die hätte ich mir gern gespart. Wenn "Objekt-Recycling" mit den Statements nicht möglich ist, werde ich da aber nicht herum kommen. Danke dir für die Antworten Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.