-
 Zitat von peter.kinne
Wenn ich aber eine Filterfunktion auswähle, z. B. (F1JAHR)Jahr = '2004', bekomme ich den SQL-Fehler 312 (Variable &1 nicht definiert oder nicht verwendbar) beim "PREPARE S1 FROM :SQLSTA".
Die Variable SQLSTA hat zu diesem Zeitpunkt den Wert:
'SELECT FELD1, FELD2, FELD3 from TABELLE_1 WHERE FELD1=:F1JAHR'
Dein Problem liegt in der Verwendung der Host Variablen:
Bei dynamischem SQL hast Du zwei Möglichkeiten:
1. Die Host-Variablen auflösen
Beispiel:
PHP-Code:
SQLSTA = 'Select Feld1, Feld2, Feld3 from Tabelle_1
where Feld1 = ''' + HostVar1 + ''' and FeldNum = ' + HostVar2;
Bei alphanumerischen Feldern müssen die Hochkommata korrekt angegeben werden.
Datums-Felder werden korrekt konvertiert, sofern sie als alphanumerische Darstellung mit 4-stelligem Jahr übergeben werde.
2. Verwendung von Parameter-Markern
Die Variablen werden dann beim PREPARE Befehl über USING angegeben.
Beispiel:
PHP-Code:
SQLSTA = 'Select Feld1, Feld2, Feld3 from Tabelle_1
where Feld1 = ? and FeldNum = ?';
/End-Free
C/EXEC SQL PREPARE MySQL From SQLSTA
C+ using :HostVar1, :HostVar2
C/END-EXEC
Wenn es nur darum geht unterschiedliche Auswahlen zu treffen, jedoch immer die gleichen Felder in der gleichen Reihenfolge angezeigt werden sollen, brauchst Du kein dynamisches SQL.
In der WHERE CLAUSE kannst Du für jede Auswahl BETWEEN Von-/Bis-Wert angeben. Je nach Auswahl füllst Du die Von-/Bis-Werte entweder mit dem ausgewählten Wert oder mit *LoVAL und *HiVal. Der Query-Optimizer erkennt ob ein bestimmter Wert oder alle Werte ausgewählt wurden und sucht sich daraufhin den passenden Zugriffs-Weg.
Selbst Sortierungen können durch den Einsatz von CASE-Bestimmungen variabel gestaltet werden.
Birgitta
Similar Threads
-
By Bernd Wiezroek in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 10-04-06, 06:26
-
By Stefan_Sk in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 04-10-05, 09:04
-
By JonnyRico in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 27-10-04, 09:19
-
By Zupfl50 in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 06-10-04, 21:04
-
By peter.kinne in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 20-09-04, 14:52
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks