Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Werte aus der Datenbank auslesen
PaddelCore
myCSharp.de - Member



Dabei seit:
Beiträge: 17
Herkunft: NRW

Themenstarter:

Werte aus der Datenbank auslesen

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3795
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden


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
private Nachricht | Beiträge des Benutzers
Papst
myCSharp.de - Experte



Dabei seit:
Beiträge: 405
Herkunft: Kassel

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
PaddelCore
myCSharp.de - Member



Dabei seit:
Beiträge: 17
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1919
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3795
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden


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
private Nachricht | Beiträge des Benutzers
PaddelCore
myCSharp.de - Member



Dabei seit:
Beiträge: 17
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

Ich bedanke mich für die Hilfe. Es hat funktioniert =)
private Nachricht | Beiträge des Benutzers
M.L.
myCSharp.de - Member



Dabei seit:
Beiträge: 272

beantworten | zitieren | melden

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.
Attachments
Goalkicker.com
DNC Magazine for .NET Developers,
.NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray ;-)
private Nachricht | Beiträge des Benutzers