[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2006
    Beiträge
    98
    Wie kriege ich es erst dynamisch mit dem Feldauswahl und dem Gruppierung.
    ist es so richtig:???

    FETCH C1 USING DESCRIPTOR :SQLDA ;


    D* SQL Descriptor area
    D SQLDA DS
    D SQLDAID 1 8A
    D SQLDABC 9 12B 0
    D SQLN 13 14B 0
    D SQLD 15 16B 0
    D SQL_VAR 80A DIM(SQL_NUM)
    D 17 18B 0
    D 19 20B 0
    D 21 32A
    D 33 48*
    D 49 64*
    D 65 66B 0
    D 67 96A
    D*
    DSQLVAR DS
    D SQLTYPE 1 2B 0
    D SQLLEN 3 4B 0
    D SQLRES 5 16A
    D SQLDATA 17 32*
    D SQLIND 33 48*
    D SQLNAMELEN 49 50B 0
    D SQLNAME 51 80A
    D* End of SQLDA
    D*
    beim Wandeln fehler: SQL_NUM und SQL_Var nicht definiert sind???


    Danke

  2. #2
    Registriert seit
    Apr 2005
    Beiträge
    385
    Beim zusammenbauen des SELECT kann man auch Felder die wefallen durhc konstanten ersetzen!

    SELECT NAME, KUNDENNR, SUM(UMSATZ), SUM(MENGE) FROM FILE ORDER BY NAME GROUP BY NAME, KUNDENNR

    Kann man auch alternativ
    SELECT NAME, ' ', SUM(UMSATZ), 0 FROm FILE ORDER BY NAME GROUP BY NAME

    Somit kann die Ziel-DS gleichbleiben, man muss nur wissen wo was drin steht....

    Nicht schön aber flexibel...

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... bringt aber NullKommaNix, da der Satz ohnehin komplett gelesen wird, die Konstanten von der Datenbank ins Programm geliefert und dann gemapped werden. Das isr aber so oder so nur Arbeitsbeschaffung für den Programmierer...

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    SQL_NUM muss als Integer-Feld definiert und mit der maximal zu erwartenden Anzahl an Spalten inititalisiert werden.

    Für jedes zurückgegebene Feld bzw. jede ausgewählte Spalte wird ein Element in der SQLVAR Feldgruppe/Datenstruktur gefüllt. In SQLTYPE wird der numerische Datentyp der Spalte (Beschreibung in SQL Reference in Appendix D), in SQLLEN die Datenlänge und in SQLDATA wird ein Pointer auf die Spalten-Daten ausgegeben. Diese Informationen musst Du dann verarbeiten.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Wobei der Pointer selber, z.B. mittels %adr() oder %alloc(), gesetzt werden muss.
    Per Describe Statement übergibt man eine SQLDA-Struktur mit genügend Anzahl Elementen, anschließend kann man dann die Pointer setzen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Dynamisches embedded SQL
    By Tschabo in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 11-03-21, 09:14
  2. Antworten: 7
    Letzter Beitrag: 23-03-15, 17:21
  3. Artikel: SQL: dynamisches Select ohne Cursor
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 05-12-13, 18:03
  4. Lpar AS selber bauen ?
    By Robi in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 29-05-03, 08:00
  5. TCP/IP-Leitwege - Dynamisches Eintragen verhindern?
    By mott in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 18-09-02, 15:42

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •