Benutzer mit den meisten Antworten
WPF Datagrid mit Daten aus Dataset füllen

Frage
-
Hallo zusammen,
in einer WPF-Anwendung soll ein Datagrid mit Daten aus einem Dataset gefüllt werden. Zum Testen benutze ich Daten der Beispieldatenbank Northwind, es wird ein SQLCompactServer4.0 verwendet. Die Daten sollen beim Laden des Fensters eingefüllt werden, jedenfalls jetzt zum Testen. Es kommt aber immer die Fehlermeldung "Argument Exception : Illegales Zeichen im Pfad".
Mein Code:
Northwind40DataSet dataSet = new Northwind40DataSet(); //TableAdapter erzeugen Northwind40DataSetTableAdapters.CustomersTableAdapter myTa = new Northwind40DataSetTableAdapters.CustomersTableAdapter(); myTa.Fill(dataSet.Customers); this.DataContext = dataSet.Customers.DefaultView;
Woran liegt das? Was muss ich bei dieser Ausnahme tun?
Wenn ich die Zeile "myTa.Fill(dataSet.Customers);" auskommentiere wird angezeigt, aber selbstverständlich nur die Tabellenheader. Derselbe Code funktioniert in einer älteren Anwendung im VisualStudio 2010 problemlos.
Herzlichen Dank im Voraus
Antworten
-
Hallo Ottilie,
bitte kontrolliere die Verbindungszeichenfolge die beim DataSet verwendet wird - zu finden in der App.Config. Wahrscheinlich zeigt die Verbindung auf eine nicht (mehr) vorhanden SQL Server Datenbankdatei.
Gruß Elmar
- Als Antwort vorgeschlagen Ionut DumaModerator Montag, 13. Mai 2013 14:41
- Als Antwort markiert ottilie Dienstag, 14. Mai 2013 10:31
-
Hallo Ottilie,
hast Du evtl. das DataDirectory festgelegt, zu finden u. a bei:
http://erikej.blogspot.de/2011/02/using-sql-server-compact-40-with.htmlmit:
private void Application_Startup(object sender, StartupEventArgs e) { // This is our connection string: Data Source=|DataDirectory|\Chinook40.sdf // Set the data directory to the users %AppData% folder // So the Chinook40.sdf file must be placed in: C:\\Users\\<Username>\\AppData\\Roaming\\ AppDomain.CurrentDomain.SetData("DataDirectory", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)); }
oder entsprechend.
Was den Effekt haben könnte, das auf ein ungültiges Verzeichnis zugegriffen wird.
Gruß Elmar
- Als Antwort markiert ottilie Dienstag, 14. Mai 2013 10:31
Alle Antworten
-
Hallo Ottilie,
bitte kontrolliere die Verbindungszeichenfolge die beim DataSet verwendet wird - zu finden in der App.Config. Wahrscheinlich zeigt die Verbindung auf eine nicht (mehr) vorhanden SQL Server Datenbankdatei.
Gruß Elmar
- Als Antwort vorgeschlagen Ionut DumaModerator Montag, 13. Mai 2013 14:41
- Als Antwort markiert ottilie Dienstag, 14. Mai 2013 10:31
-
Hallo Elmar,
erstmal vielen Dank für die schnelle Antwort. In App.Config ist eingetragen:
connectionString="Data Source=|DataDirectory|\Northwind40.sdf"
Die Datenbank liegt auch im Projektordner.
DataSource = C:\Users\Ottilie\documents\visual studio 2012\Projects\RiskAnalyzerTest2\RiskAnalyzerTest2\Northwind40.sdf; auch die Testverbindung klappt. Immerhin ist das Programm auch in der Lage die Header der Tabellen auszulesen.
In VisualStudio 2010 sind die Angaben analog, alles funktioniert.
Gruß
Ottilie
Hallo Elmar,
wahrscheinlich lag es doch an der Verbindung, auch wenn ich nicht herausfinde wo. Ich habe das Testprojekt neu aufgesetzt und alles läuft.
Herzlichen Dank
Ottilie
- Bearbeitet ottilie Montag, 13. Mai 2013 13:40
-
Hallo Ottilie,
hast Du evtl. das DataDirectory festgelegt, zu finden u. a bei:
http://erikej.blogspot.de/2011/02/using-sql-server-compact-40-with.htmlmit:
private void Application_Startup(object sender, StartupEventArgs e) { // This is our connection string: Data Source=|DataDirectory|\Chinook40.sdf // Set the data directory to the users %AppData% folder // So the Chinook40.sdf file must be placed in: C:\\Users\\<Username>\\AppData\\Roaming\\ AppDomain.CurrentDomain.SetData("DataDirectory", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)); }
oder entsprechend.
Was den Effekt haben könnte, das auf ein ungültiges Verzeichnis zugegriffen wird.
Gruß Elmar
- Als Antwort markiert ottilie Dienstag, 14. Mai 2013 10:31