Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - DataGridView und Datenbank (MS SQL Server 2005)
Flummie - Mi 02.03.11 14:30
Titel: DataGridView und Datenbank (MS SQL Server 2005)
Hallo,
ich hab das Thema schon in ein anderes Forum gepostet, aber ich komm nicht weiter:( und es ist dringend...
vielleicht kann mir einer helfen, wo mein blöder Denkfehler ist
link:
http://www.c-plusplus.de/forum/282968
Vielen Dank im Vorraus!
Kha - Mi 02.03.11 14:41
:welcome: in der EE!
Bitte kopiere deine Angaben in dieses Forum herüber, damit der Thread nicht von externen Quellen abhängt.
Aber ich kann dir auf jeden Fall schonmal sagen, dass du mit deiner RückgabeDataTable-Methode jedes Mal eine neue DataTable-Instanz erstellst und dadurch gar nicht die DataTable des DGV speicherst. Warum wird die DataTable überhaupt von einer anderen Form erstellt, als die, auf der das DGV liegt :gruebel: ? Das sieht nach keinem guten Design aus.
Flummie - Mi 02.03.11 14:48
Hallo,
ich habe ein Problem. Ich habe ein DataGridview, welches mit Werten befüllt. Die Werte stehen in einem DataTable(was über ein SQLDataAdapter befüllt wird), welches ich dann an das DataGridView binde. Nun können diese Werte im DataGridView auch geändert werden oder auch neue hinzugefügt werden. Über ein Button sollen dann die geänderten oder auch neu hinzugefügten Werte wieder zurück in die Datenbank geschrieben werden. Soweit ich das verstanden habe, funktioniert das wiederum über den SQLDataAdapter mit .Update. Jedoch funktioniert es bei mir nicht so, da mein DataTable wenn dann noch mit den alten Werten aus der Datenbank befüllt ist. Ich weiss nicht wie ich das anders machen kann :(
Wäre sehr dankbar über eine Hilfe.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| public DataTable RückgabeDataTable() { sql_connection = anmeldungsql.AnmeldungSQL();
sql_connection.Open();
instruction = "Select * from Tabelle1";
sqlDataAdapter = new SqlDataAdapter(instruction, sql_connection);
sqlDataAdapter.Fill(dataTable);
sql_connection.Close();
return dataTable;
}
private void toolStripButtonHinzufügen_Click(object sender, EventArgs e) { DataTable datat = new DataTable(); sqlDataAdapter = new SqlDataAdapter("Select * from tabelle1", sql_connection);
sqlDataAdapter.Fill(datat); SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);
sqlDataAdapter.Update(datat); } |
Moderiert von
Kha: C#-Tags hinzugefügt
Flummie - Mi 02.03.11 15:06
Kha hat folgendes geschrieben : |
:welcome: in der EE!
Bitte kopiere deine Angaben in dieses Forum herüber, damit der Thread nicht von externen Quellen abhängt.
Aber ich kann dir auf jeden Fall schonmal sagen, dass du mit deiner RückgabeDataTable-Methode jedes Mal eine neue DataTable-Instanz erstellst und dadurch gar nicht die DataTable des DGV speicherst. Warum wird die DataTable überhaupt von einer anderen Form erstellt, als die, auf der das DGV liegt :gruebel: ? Das sieht nach keinem guten Design aus. |
Weil ich große Klassenstuktur habe, wo mehrere Klassen von einer erben. Also die Mutterklasse ist das DataGridView und entprechend was der Benutzer drückt, wird die Kindklasse aufgerufen, deshalb aus einer anderen Klasse.
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!