-
Wenn du mit ADO arbeitest, um so besser.
Du solltest dabei aber nicht mehr ODBC verwenden sondern den OLEDB-Provider IBMDA400. Hierzu solltest du auch am besten CA V5R1 einsetzen, auch wenn die AS/400 noch V4 verwendet.
Bei den Verbindungseigenschaften kannst du die Bibliotheksliste (Registerkarte Erweitert) einstellen, so dass du den Datenexplorer verwenden kannst.
Anm.: ODBC geht zwar auch, ist aber langsamer und unterliegt ein paar Einschränkungen.
Für den Update erstellst du ein Command-Objekt und gibst den SQL-Befehl
"UPDATE myfile set F1=?, F2=? .... where K1=? and K2=? ..."
direkt ein.
Die Argumente kannst du dann mittels
updcmd(0) = myarg1
:
updcmd(n) = myargn
übergeben und anschliessend per
(dim RecAffected as long )
updcmd.execute RecAffected, , adExecuteNoRecords
ausführen.
Da der Update kein Recordset zurückgibt, ist die Option "adExecuteNoRecords" wichtig, da sonst die Information "RecAffected" nicht korrekt zurückgegeben wird und ein Recordset-Objekt auch nicht benötigt wird (es ist ja leer und muss eh wieder zerstört werden).
"RecAffected" sollte auch ausgewertet werden, wenn der Inhalt nähmlich nicht 1 ist, stimmt ggf. der Schlüssel (Where-Klausel) nicht, der Satz ist vielleicht nicht mehr da oder von einer anderen Anwendung gesperrt.
Du kannst zur Überprüfung auch das Error-Ereignis verwenden.
Nun zum Einfügen. Der SQL-befehl lautet "Insert" und kann ähnlich wie der Update per Command-Objekt durchgeführt werden.
"Insert into myfile (F1, F2, F3, ...) values (?, ?, ?, ...)"
Die Verwendung per Execute-Methode ist identisch zum Update incl. "RecAffected", "adExecuteNoRecords" und Error-Ereignis.
Beim Insert kann natürlich ein Fehler passieren, z.B. doppelter Schlüssel oder ggf. kein Default-Wert bei nicht verwendetem Feld, usw.
Anmerkung zu Datumsfeldern:
Wenn du mit ODBC arbeitest, verlangt CA/400 ein CDate()-Format.
Wenn du mit OLEDB arbeitest, verlangt CA/400 einen String im ISO-Format (Timestamp: YYYY-MM-DD-HH.MM.SS.MMMMMM).
Mit der Format$-Anweisung kannst du dies problemlos erreichen.
Similar Threads
-
By berndl in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 13-10-06, 10:28
-
By Tom5 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 03-03-05, 06:51
-
By hs in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-08-02, 08:27
-
By ediline in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 19-06-01, 09:54
-
By MKnapp in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 19-12-00, 07:43
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