Hallo,
Gibt es eine allgemein gültige Regel im Umgang mit der ADO und MS SQL 7 wie man folgende Struktur aufbaut.
Dataset1: Kopfdatensatz (ID1:Autoinc)
Dataset2: Positionen (ID1,ID2:AutoInc)
Dataset3: PosStkl (ID1,ID2,ID3:Autoinc)
Also ich Lege den Kopfdatensatz an. Nur wenn ich CursorType auf clStatic setze sehe ich auch nach dem Post die ID1)
Danach wird ein Angebot dazu gesucht und die Positionen dazu importiert.
Also wieder ein Append aber diesmal auf Dataset2 (ID2=AUTOINC) Hier funktioniert ja noch alles.
Nun wird nach dem Post ins Dataset2 nachgeschaut ob es eine Stückliste dazu gibt. Da fangen dann die SChwierigkeiten an:
Ich sehe nach dem Post von Dataset2 den Datensatz offensichtlich nicht da ich ja mit den Daten daraus die Stückliste suchen möchte aber alle Felder sind leer. Erst wenn ich das Dataset2 schließe und wieder öffne hab ich Zugriff auf die Feldinhalte.
Das gleiche ist mit dem Dataset3 nach dem Post sollte geprüft werden ob der Artikel ein "Dummy" Artikel ist und eine entsprechende Suchmaske aufgemacht werden. Gleiches Problem die Felder sind alle leer. Erst nach dem Close und Open sind die Inhalte da.
Komisch ist das ich die folgenden Meldungen nur in der Entwicklungsumgebung erhalte beim Lauf des fertigen Programmes treten sie nicht auf (allerdings bekomme ich da auch keine Stücklistenartikel da ja das Dataset2 scheinbar leer ist.
Fehler Nr.1:
Der Provider konnte den Wert nicht ermitteln. Möglich Gründe der Datensatz wurde gerade erstellt, der Standardwert für das Feld steht nicht zur Verfügung oder der Benutzer hat den neuen Wert nicht gesetzt.
Fehler Nr. 2:
Das Zeilenhandle bezog sich auf eine gelöschte oder zum Löschen markierte Zeile.
(Kommt beim selben Datensatz)
Ich hab gesucht und gesucht und alle ADO Beiträge hier durchgeforstet komm aber auf keinen grünen Zweig.
Hier nocheinmal die Kurzfassung der Aufgabenstellung:
Dataset1: Kopfdatensatz
dazu gibt es ein Dataset2 das die Positionen enthält und über die ID1 mit dem Dataset1 verbunden ist.
Dann gibt es noch das Dataset3 das über die ID1 und ID2 mit dem Dataset2 verbunden ist und die Stückliste enthält. Es gibt fogende AutoInc Felder:
ID1: Dataset1
ID2: Dataset2
ID3: Dataset3
Ich denke mal es ist ein Problem der richtigen Connection Konfiguration.
Vielleicht kann mir mal jemand klar machen wie ich das richtig mache:
LG
Peter
P.S. Möchte gerne TableDirect und CursorLocation auf Server stellen (Geschwindigkeit)
Gibt es eine allgemein gültige Regel im Umgang mit der ADO und MS SQL 7 wie man folgende Struktur aufbaut.
Dataset1: Kopfdatensatz (ID1:Autoinc)
Dataset2: Positionen (ID1,ID2:AutoInc)
Dataset3: PosStkl (ID1,ID2,ID3:Autoinc)
Also ich Lege den Kopfdatensatz an. Nur wenn ich CursorType auf clStatic setze sehe ich auch nach dem Post die ID1)
Danach wird ein Angebot dazu gesucht und die Positionen dazu importiert.
Also wieder ein Append aber diesmal auf Dataset2 (ID2=AUTOINC) Hier funktioniert ja noch alles.
Nun wird nach dem Post ins Dataset2 nachgeschaut ob es eine Stückliste dazu gibt. Da fangen dann die SChwierigkeiten an:
Ich sehe nach dem Post von Dataset2 den Datensatz offensichtlich nicht da ich ja mit den Daten daraus die Stückliste suchen möchte aber alle Felder sind leer. Erst wenn ich das Dataset2 schließe und wieder öffne hab ich Zugriff auf die Feldinhalte.
Das gleiche ist mit dem Dataset3 nach dem Post sollte geprüft werden ob der Artikel ein "Dummy" Artikel ist und eine entsprechende Suchmaske aufgemacht werden. Gleiches Problem die Felder sind alle leer. Erst nach dem Close und Open sind die Inhalte da.
Komisch ist das ich die folgenden Meldungen nur in der Entwicklungsumgebung erhalte beim Lauf des fertigen Programmes treten sie nicht auf (allerdings bekomme ich da auch keine Stücklistenartikel da ja das Dataset2 scheinbar leer ist.
Fehler Nr.1:
Der Provider konnte den Wert nicht ermitteln. Möglich Gründe der Datensatz wurde gerade erstellt, der Standardwert für das Feld steht nicht zur Verfügung oder der Benutzer hat den neuen Wert nicht gesetzt.
Fehler Nr. 2:
Das Zeilenhandle bezog sich auf eine gelöschte oder zum Löschen markierte Zeile.
(Kommt beim selben Datensatz)
Ich hab gesucht und gesucht und alle ADO Beiträge hier durchgeforstet komm aber auf keinen grünen Zweig.
Hier nocheinmal die Kurzfassung der Aufgabenstellung:
Dataset1: Kopfdatensatz
dazu gibt es ein Dataset2 das die Positionen enthält und über die ID1 mit dem Dataset1 verbunden ist.
Dann gibt es noch das Dataset3 das über die ID1 und ID2 mit dem Dataset2 verbunden ist und die Stückliste enthält. Es gibt fogende AutoInc Felder:
ID1: Dataset1
ID2: Dataset2
ID3: Dataset3
Ich denke mal es ist ein Problem der richtigen Connection Konfiguration.
Vielleicht kann mir mal jemand klar machen wie ich das richtig mache:
LG
Peter
P.S. Möchte gerne TableDirect und CursorLocation auf Server stellen (Geschwindigkeit)
Comment