[NEWSboard IBMi Forum]

Thema: SQL Package

Hybrid View

  1. #1
    Registriert seit
    Jan 2005
    Beiträge
    37

    Mit der Bitte um Info

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Den SQL definiere ich an den richtigen Stellen mit "?" und kann dann jederzeit mit "OpenRecodset" und den Parametern im Array (oder in einer Schleife gefüllt) das Command ausführen.
    Kann ich an einen Parameter ein Array hängen? Arbeite bei INSERT nur noch mit ado command und wüsste gerne, ob man das noch beschleunigen kann, indem man nicht jede Zeile einzeln "abschickt" sondern ein array an jeden Parameter anhängt und dann einen ganzen Block überträgt. Habe das mit ODBC BLOCK INSERT probiert, funktioniert auch, möchte das aber lieber über ado realisieren. Gibt es eine Art BLOCK INSERT für ado (VB6)?

    Gruß Andreas

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nun, das geht nur über ein Recordset, dass vorher per "SELECT ..." angelegt wurde, wichtig ist hierbei die Verwendung eine CLientCursers.

    Per .AddNew-Methode können dann neue Sätze erst mal lokal hinzugefügt werden, vorhandene Sätze können direkt per ".Fields("Name")" bzw "!Name" geändert werden.

    Zum Schluß ist dann die Methode .UpdateBatch aufzurufen, die nun alle Änderungen in die Zieltabelle überträgt.

    Über den Filter ".adFilterPendingRecords" bzw. ".AdFilterConflictingRecords" können die nicht übertragenen bzw. fehlerhaften Sätze ausgefiltert werden.

    UpdateBatch hat ggf. in Mehrbenutzerumgebeungen den Nachteil, dass Änderungen/Neuanlagen nicht sofort für alle verfügbar sind und Konflikte schwerer erkennbar werden.

    Auch die Anzahl der Operationen (Speicherbedarf) ist da begrenzt.

    Es funktioniert also auch folgendes:

    Set MyRcd = MyConnect.Execute("Select * from MyTable where Key1=''"

    ' Erzwingen eines leeren Recordsets

    for x=1 to 1000
    MyRcd.AddNew
    MyRcd!F1 = newval

    if x mod 100 = 0 then
    MyRcd.UpdateBatch
    MyRcd.Requery
    endif

    next

    ' Update alle 100 Sätze
    ' Requery gibt wieder ein leeres Recordset
    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. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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