Select und Insert mit der gleichen Funktion?

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Uli
Beiträge: 24
Registriert: Mi 2. Sep 2009, 18:49

Select und Insert mit der gleichen Funktion?

Beitrag von Uli »

Hallo,
im TSQLQuery muss ich je nachdem was ich ausführen will ein anderes add aufrufen.
TSQLQuery.SQL.Add('SELECT FROM...');
TSQLQuery.InsertSQL.Add('INSERT INTO...');
TSQLQuery.UpdateSQL.Add('UPDATE table...');
TSQLQuery.DeleteSQL.Add('DELETE FROM...');
Gibt es eine Möglichkeit, bei der es egal ist, welcher Befehl folgt?
Z.B. conn.ExecuteDirect?
Wenn ja, wie komme ich dann an die Ergebnisse von selects?
Hintergrund: Ich möchte ein Programm schreiben, welches SQL Befehle aus einer Datei liest und ausführt.
Dabei weiß ich nicht, welche Befehle in der Datei stehe.
Natürlich kann ich mir das erste Wort des Befehls ansehen, dazu müsste ich zuerst alle Kommentare entfernen und das kann beliebig kompliziert werden (z.B. Oracle /* = Kommentar Anfang und /*+ = Hint Anfang).

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Select und Insert mit der gleichen Funktion?

Beitrag von monta »

Ich glaube, du machst es dir in diesem Fall unnötig schwer. Die einzelnen Query-Felder sind zur automatischen bearbeitung von Datenmengen, das man quasi für jeden Fall die SQL-Anweisung schon drin stehen hat.

du kannst aber alle deine obigen Anweisungen auch direkt in TSQLQuery.SQL schreiben und ausführen. Das geht für alle Anweisungen.
einzige nötge Unterscheidung wäre SELECT mit Open auszuführen und den Rest mit ExecSQL.

Alternativ könnte dir auch TSQLScript helfen.
Johannes

Uli
Beiträge: 24
Registriert: Mi 2. Sep 2009, 18:49

Re: Select und Insert mit der gleichen Funktion?

Beitrag von Uli »

Hallo Monta,
erst einmal danke für Deine Antwort, werde ich gleich einmal ausprobieren.
Mein grösstes Problem ist, dass ich keine Übersicht über alle Komponenten und deren Funktionen, Prozeduren und Properties habe (zu TSQLScript habe ich grnichts gefunden). Wo kann ich so etwas finden (kann auch käuflich zu erwerben sein)?

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Select und Insert mit der gleichen Funktion?

Beitrag von monta »

Genau das ist das Problem, auch wenn Geld keine Rolle spielt, soetwas gibt es umfassend leider nicht.

Es soll bald ein Buch zu Lazarus erscheinen. Aber wie sehr das auf die einzelnen Komponenten eingeht, weiß ich nicht. Ansonsten orientiere ich mich oftmals an Delphi-Dokumenten/Tutorials.
Für Datenbanken ist das hier sehr nett: http://seegernet.de.ms/Delphi/ZEOS/ZEOS.htm" onclick="window.open(this.href);return false;
Allerdings mit Zeos und nicht SQLDb, die Grundlagen sind allerdings gleich. Ich vermute auch mal, das sich SQLScript an die dort aufgeführte Komponente TZSQLProcessor anlehnt.
Johannes

Antworten