Autor Beitrag
Flummie
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 02.03.11 14:30 
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:

www.c-plusplus.de/forum/282968


Vielen Dank im Vorraus!
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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.


ausblenden volle Höhe 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();
     
//hier möchte aber nicht die Werte aus der Datenbank, sondern die Werte vom DataGridView!!!!???????      
  sqlDataAdapter = new SqlDataAdapter("Select * from tabelle1", sql_connection);

           
  sqlDataAdapter.Fill(datat);
  SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);

  sqlDataAdapter.Update(datat);
}


Moderiert von user profile iconKha: C#-Tags hinzugefügt
Flummie Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 02.03.11 15:06 
user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
: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.