Hallo! > aber ich glaube, du darfst die id gar nicht setzen, > sie wird vielmehr automatisch erzeugt. > auf mich kommt das problem �brigens auch noch zu, > du kannst dich ja noch mal melden, wenn es funktioniert.
AutoIncrement-Felder m�ssen immer von der Datenbank gesetzt werden. Aber das ist auch ein grunds�tzliches Problem, das schon unter ADO aufgetreten ist: Immerhin ist es m�glich, dass bei einem AddNew auf zwei verkn�pfte Tabellen der entsprechende Prim�rschl�ssel in einer der Tabellen bereits vorhanden ist. Abh�ngig davon muss ADO ein oder zwei INSERTs erzeugen. In ADO konnte man das mit der Eigenschaft "UNIQUE TABLE" spezifizieren. Rein logisch k�nnte bei einem AddNew auf verkn�pfte Tabellen auch ein INSERT und ein UPDATE erforderlich sein. Hier scheitert ADO. Beispiel: SELECT a.*, b.* FROM a LEFT JOIN b ON b.id = a.childId Wenn im INSERT-Statement nur Felder aus a oder nur Felder aus b gesetzt werden, gibt es keine Probleme: Ein INSERT in a oder b! Werden Felder aus a und b gesetzt, kann - ein INSERT in a oder - ein INSERT in b oder - ein INSERT in a und ein INSERT in b oder - ein INSERT in a und ein UPDATE in b oder - ein UPDATE in a und ein INSERT in b erforderlich werden. In ADO.NET ist es wichtig, die Beziehung im Dataset abzubilden und nicht z. B. �ber eine View oder Stored Procedure. Dar�ber hinaus muss der Datensatz der verkn�pften Tabelle vor der Haupttabelle eingef�gt werden. Es sieht f�r mich so aus, als ob ADO.NET hier automatisch gar nichts mehr macht, man also bei verkn�pften Tabellen immer selber pr�fen muss, welche der beiden Tabellen bzw. Adapter in welcher Reihenfolge upgedatet werden m�ssen. Der Programmierer muss jetzt mehr nachdenken, leidet aber auch nicht mehr unter "Fehlinterpretationen" durch ADO. Wenn man also grunds�tzlich erst die verkn�pften und zum Schluss die Haupttabelle updatet ist man in ADO.NET auf der sicheren Seite. Hat jemand andere oder erg�nzende Erfahrungen? Freundliche Gr��e Joachim van de Bruck | [aspdedotnet] als [email protected] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
