-
Das "wenn möglich" gibt dir ja Gelegenheit.
Also: Ohne Cursor funktioniert ein Select nur, wenn max. genau 1 Zeile erwartet wird.
In diesem Fall kodiert man einen "select ... into ...".
Alle anderen Select's gehen nur mit Cursor (ohne Cursor kein Fetch).
Die SQLCA musst du auf jeden Fall auswerten:
SQLCOD = 100 => keine Daten.
Allerdings liefert der letzte Fetch ebenfalls SQLCOD=100, nur in der Struktur können trotzdem Sätze gelesen worden sein (Z.B. nur 11999 Sätze).
Dann musst du eben noch 999 Sätze verarbeiten, deine Struktur ist eben nicht vollständig gefüllt.
Die nachfolgenden Vorkommen der Mehrfachstruktur habe immer noch den VORHERIGEN Inhalt !!!
Und wenn wir über RPGLE sprechen kann der Fetch dir den Speicher zerhauen, wenn deine Struktur weniger Vorkommen hat, als du im Fetch angibst.
-
Zitat von Fuerchau
Alle anderen Select's gehen nur mit Cursor (ohne Cursor kein Fetch).
Die SQLCA musst du auf jeden Fall auswerten:
SQLCOD = 100 => keine Daten.
Allerdings liefert der letzte Fetch ebenfalls SQLCOD=100, nur in der Struktur können trotzdem Sätze gelesen worden sein (Z.B. nur 11999 Sätze).
Dann musst du eben noch 999 Sätze verarbeiten, deine Struktur ist eben nicht vollständig gefüllt.
Die nachfolgenden Vorkommen der Mehrfachstruktur habe immer noch den VORHERIGEN Inhalt !!!
Und wenn wir über RPGLE sprechen kann der Fetch dir den Speicher zerhauen, wenn deine Struktur weniger Vorkommen hat, als du im Fetch angibst.
Ok, nun weiß ich wie das Zeug auf der AS400 geht. Aber ich entwickle in .NET über die IBM-Schnittstelle, wie bekomm ich den nun die Objekte da raus? ^^ Alles muss immer so schwer sein
Achja, sorry für das dumme Nachgefrage, bin nunmal ein Anfänger...
-
Nun, da bist du ggf. hier falsch.
Aber in soweit:
.NET arbeitet immer asynchron !
Wieviele Sätze blockweise verarbeitet werden bestimmst du über die PageSize (o.ä.).
.NET regelt den Cursor intern !
Es funktionieren auch Update und Delete, allerdings BATCH.
Für die AS/400-Dateien muss nur ein UNIQUE-Key vorhanden sein, dann kann .NET den Update/Delete automatisch als SQL definieren, ansonsten wird diese Funktion abgelehnt.
Es gibt im Recordset auch eine Supports-Eigenschaft, in der festgestellt werden kann, ob das Recordset Update/Delete unterstützt.
Im Falle des Updates/Deletes kann ein Fehler ausgelöst werden, dass sich die Daten zwischenzeitlich geändert haben.
Über einen Filter kann man sich diese Sätze dann rausselektieren, da mittels UpdateBatch mehrere Operationen durchgeführt werden können und somit mehrere Sätze betroffen sein können.
Für das Arbeiten mit .NET kannst du die Designer verwenden um komfortabel Queries zu definieren.
PS:
Du solltes zum Arbeiten mit der AS/400 den ODBC-Treiber an Stelle des OLEDB IBMDA400 verwenden (ODBC-Provider von .NET), da dieser mehr Komfort bietet.
-
kay, dann werd ich mal weiterbasteln. Danke für die Hilfe
-
Hallo,
in C# ist dieses ohne weiteres möglich:
Die Fill Methode des DataAdapters kann mit den Parametern "Start" und "Anzahl" aufgerufen werden.
Frag mich aber nicht wie perfomant das ist und was intern da passiert.
Gruß Björn
Similar Threads
-
By TomWaf in forum NEWSboard Programmierung
Antworten: 16
Letzter Beitrag: 24-08-10, 13:47
-
By chrisssiie in forum NEWSboard Programmierung
Antworten: 19
Letzter Beitrag: 09-01-07, 10:53
-
By Der_Unwissende in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 20-10-06, 08:32
-
By linguin in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 22-06-06, 08:39
-
By FrankL in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 27-04-06, 14:24
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