Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Anlegen neuer Record in Datenbank
didi_12 - Do 07.06.12 15:14
Titel:  Anlegen neuer Record in Datenbank
Hallo
ich versuche einen neuen Record in meiner Datenbanktabelle anzulegen. Ich habe über den Datenbank-Assistenten in VS eine entsprechende Anbindung an die Datenbank hergestellt und die Tabellenspalten mit Controls auf meinem WPF-Form verknüpft. Das Updaten existierender Records funktioniert problemlos, aber wie schaffe ich es einen neuen Record zu erzeugen und entsprechend zu befüllen.
Hier die entsprechenden typisierten Datenbank-Objekte
            
C#-Quelltext    
                                        | 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 
 | oPostkriegDataSet = ((Postkrieg2.DataSet_Postkrieg2_Direct_To_SQLDatabase)(this.FindResource("dataSet_Postkrieg2_Direct_To_SQLDatabase")));oPostkriegDataSetAdapter = new Postkrieg2.DataSet_Postkrieg2_Direct_To_SQLDatabaseTableAdapters.Cover_Main_TableTableAdapter();
 oCover_Main_Table_View = ((System.Windows.Data.CollectionViewSource)(this.FindResource("cover_Main_TableViewSource")));
 oPostkriegDataSetAdapter.Fill(oPostkriegDataSet.Cover_Main_Table);
 oCover_Main_Table_Row = oPostkriegDataSet.Cover_Main_Table.NewCover_Main_TableRow();
 
 oCover_Main_Table_View.View.MoveCurrentToLast();
 MessageBox.Show(oCover_Main_Table_View.View.CurrentPosition.ToString());
 
 | 
        
      
Wenn ich dann mit 
            
C#-Quelltext    
                                        | 1:
 | oPostkriegDataSetAdapter.Update(oPostkriegDataSet.Cover_Main_Table)                     | 
        
      
durch die Kontrollen die neue typisiert Row updaten will dann passiert gar nichts. Also kein Eintrag erfolgt. Wie also erzeuge ich eine neue Row ultimativ in der Datenbanktabelle und schaffe es diese auch zu befüllen ?
Danke
didi_12
Moderiert von  Th69: Color durch C#-Tags ersetzt
Th69: Color durch C#-Tags ersetzt
 
didi_12 - Sa 09.06.12 17:58
Hallo,
hat einer eine Idee. Unabhängig vom konkreten Fall, wie lege ich eine neue Row in der Datenbanktabelle an und fülle diese ?
Danke
didi
Ralf Jansen - Sa 09.06.12 18:55
Sprechender Code ist eigentlich lobenswert. Geschwätzige Bezeichner kombiniert mit Underscores sind aber zu viel des guten und machen das fast unlesbar. 
Sieht für mich so aus als hättest du die neue Zeile nicht in der DataTable hinzugefügt. Zumindest ist der entscheidende Teil im gezeigten Code auskommentiert. Die AddCover_Main_TableRow Methode brauchst du auf jeden Fall. Danach sollte oCover_Main_Table_Row nach dem Update auch in der Datenbank auftauchen, wenn dein TableAdapter denn ein gültiges Insert Statement enthält. Hast du die erzeugten Commands im TableAdapter mal kontrolliert?
Entwickler-Ecke.de  based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!