Laden...

Werte aus der Datenbank auslesen

Erstellt von PaddelCore vor 2 Jahren Letzter Beitrag vor 2 Jahren 487 Views
P
PaddelCore Themenstarter:in
17 Beiträge seit 2018
vor 2 Jahren
Werte aus der Datenbank auslesen

Hallo,
ich habe mit der Dienstbasierten Datenbank von C# eine eine Datenbank erstellt und auch Werte eingefügt. Dann habe ich mit dem DataSet eine Verbindung hergestellt, die zweifelsohne funktioniert, da ich die Zeilen ansprechen kann. Beispielsweise funktioniert t.Columns["Name"]. t.Columns["Name2"] aber nicht. Die Verbindung steht also. In der Datenbank selber snd zwei Datensätze, die ich manuell eingeführt habe. Wenn ich mit dem folgenden Quellcode aber weitere Datensätze einfüge dann werden mir nur die beiden Datensätze ausgegeben, die ich im Quellcode eingefügt habe. In der DB sind sie auch nicht vorhanden.



            
         DataTable t = dataSet.Tables["Kunde"];
            t.Rows.Add(1, 1, 1);
            t.Rows.Add(3, 6, 4);

            foreach (DataRow row in t.Rows)
            {
                Console.WriteLine(":: ROW ::");
                foreach (var item in row.ItemArray)
                {
                    Console.WriteLine("Zeile");
                    Console.WriteLine(item.ToString());
                }
            }


Ich komme nicht auf den Fehler und wäre über Hilfe sehr dankbar.
VG

3.825 Beiträge seit 2006
vor 2 Jahren

Du fügst 2 Zeilen in das DataSet im Speicher ein, nicht in die Datenbank.

Auf die Datenbank greifst Du überhaupt nicht zu.

Hier ein paar Beispiele wie man Daten einfügt und abruft : https://download.seven-c.de/files/DatenbankenHowTo.htm

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

P
441 Beiträge seit 2014
vor 2 Jahren

Wenn du nicht musst (z.B. Legacy Applikation), würde ich dir davon abraten DataTable zu nutzen. Die ist relativ alt und hat viel overhead.

Wenn du kein SQL schreiben möchtest, schau dir ORM's wie EntityFrameworkCore an.

P
PaddelCore Themenstarter:in
17 Beiträge seit 2018
vor 2 Jahren

Danke für die Antwort.
Aber wenn ich gar nicht auf die DB zugreife, wieso funktioniert dann die Zeile


DataTable t = dataSet.Tables["Kunde"];

und wenn ich Kunde in etwas andere ändere dann nicht mehr. Eine Verbindung zu DB muss doch irgendwie vorhanden sein.

Deinen Link lese ich mir morgen früh in Ruhe durch =)

VG

T
2.219 Beiträge seit 2008
vor 2 Jahren

Die Zeile hat nichts mit einer Datenbank Verbindung zu tun.
Du liest einfach das DataTable aus einem DataSet.
Beide liegen bereits im lokalen Speicher vor und müssen nicht aus der Datenbank geladen werden.

Da wir den Rest deines Codes nicht kennen, können wir dir auch nicht sagen wo/wan/was aus der Datenbank geholt wird.
Da musst du selbst nachschauen.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

3.825 Beiträge seit 2006
vor 2 Jahren

Hier verbinde ich mich mit der Datenbank und lese Werte in das DataSet :


conn.Open();
int anzahl = da.Fill(ds, "Kunde");

In 'anzahl' findest Du die Anzahl der geladenen Zeilen.

Findest Du in meinem Link oben.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

P
PaddelCore Themenstarter:in
17 Beiträge seit 2018
vor 2 Jahren

Ich bedanke mich für die Hilfe. Es hat funktioniert =)

M
368 Beiträge seit 2006
vor 2 Jahren

Im Buch "Visual C++ 2010 hat sich bzgl. der (damaligen ?) ADO.NET-Architektur folgende Grafik im Anhang finden lassen, die das Zusammenspiel der versch. Komponenten aufzeigt.

Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉