Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Dataset füllen ?
hasso84 - Do 07.06.12 13:48
Titel: Dataset füllen ?
Hallo,
irgendwie bin ich erade zu doof....
Ich benutze eine embedded Firebird SQL Datenbank und möchte einfach ein blödes DataSet füllen um danach ein DataGridView damit zu füllen. Allerdings scheitere ich schon am füllen des DataSets aus der Datenbank.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| private DataSet readUser(string name) { FbConnection myCon = new FbConnection(connectionString); myCon.Open(); sqlQuery = "SELECT * FROM " + name; FbDataAdapter adapter = new FbDataAdapter(sqlQuery, myCon); DataSet mySet = new DataSet(); adapter.Fill(mySet); myCon.Close(); return mySet; } |
Das DataSet ist nach dem "Fill" einfach leer, die "HasRows" Property steht auf false.
In der Datenbank befinden sich aber Werte und der SQL.Befehlt funktioniert auch, da wenn ich einen FbCommand und einen FbReader benutze alle Werte schön auslesen kann. Nur über der blöden Adapter und das Fill tut sich nix.
Ich hab jetzt schon 50000 Tutorials angeschaut und überall wird es so gemacht, ich blick einfach nicht was ich übersehe...
Viele Grüße
Ralf Jansen - Do 07.06.12 14:43
Sehe jetzt auch keinen prinzipiellen Fehler.
Benutzt du ein einen relativen oder absoluten Pfad auf die fdb Datei? Liegt die lokal oder auf einem Network Share? Bist du dir sicher von deinem Programm aus auf die richtige fdb Datei zu gucken?
Es hilft vielleicht auch deine Funktion etwas zu vereinfachen um das Problem deutlicher zu erkennen. Du erzeugst ein neues Dataset. Heißt für mich mehr als dieses eine Ergebnis interessiert dich in diesem DataSet nicht. Da ist ein DataSet zu viel des guten. Eine DataTable reicht völlig. Die Benamsung deiner Funktion und des Parameters ist merkwürdig. Bei einer Funktion die readUser heißt (Funktionsnamen biete groß schreiben das hier ist c# nicht Java) und in die ein string reingeht erwartet man das das der Username ist und nicht ein Tabellenname. Oder sieht dein Model eine Tabelle je User vor?
hasso84 - Do 07.06.12 17:28
Ralf Jansen hat folgendes geschrieben : |
Benutzt du ein einen relativen oder absoluten Pfad auf die fdb Datei? Liegt die lokal oder auf einem Network Share? Bist du dir sicher von deinem Programm aus auf die richtige fdb Datei zu gucken? |
Zu Testzwecken im Moment ein absoluten, später natürlich einen relativen. Die FB liegt lokal auf der Platte, ist ja nur eine einzige Datei.
Es ist auch 100% alles korrekt damit, weil ich kann die DB ja normal über einen DataReader auslesen und es stimmt alles, ich krieg nur über den Adapter nix in das DataSet.
Ralf Jansen hat folgendes geschrieben : |
Es hilft vielleicht auch deine Funktion etwas zu vereinfachen um das Problem deutlicher zu erkennen. Du erzeugst ein neues Dataset. Heißt für mich mehr als dieses eine Ergebnis interessiert dich in diesem DataSet nicht. Da ist ein DataSet zu viel des guten. Eine DataTable reicht völlig. |
Hab es schon mit beidem probiert, hat auch nichts geändert :(
Ralf Jansen hat folgendes geschrieben : |
Die Benamsung deiner Funktion und des Parameters ist merkwürdig. Bei einer Funktion die readUser heißt (Funktionsnamen biete groß schreiben das hier ist c# nicht Java) und in die ein string reingeht erwartet man das das der Username ist und nicht ein Tabellenname. Oder sieht dein Model eine Tabelle je User vor? |
Ja das ist der Username, ich habe für jeden User eine Tabelle. Mir ist auch klar dass das ab x User nicht mehr sehr performant ist, aber ich bin ja nur Hobby programmierer und das Programm ist nur für Freunde und mich und so war die Umsetzung für mich am intuitivsten.
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!