Hallo,
folgendes Problem:
Ich erstelle eine Exceldatei mit dem Quellcode von Excel - Export ohne Excel
davor habe ich SaveFileDialog gesetzt das wie folgt aussieht.
saveFileDialog1.ShowDialog();
filename = saveFileName.ToString();
filename = fileName + ".xls";
Das Problem ist, das ich nach erstellen des Excel formulars mehrere Selects verwende, aber durch das saveFileDialog wird der Pfad zur Datenbank die sich im Debug ordner befindet verändert, so das die Datenbank im Speicherort des Excelformulars gesucht wird.
MFG
LINGLING
Gerade in so einem Falle muss man dann natürlich mit den Pfadangaben arbeiten. Ich mach da immer so, das ich in meiner Klasse für das Datenbankmanagement statische Eigenschaften habe, die mir benötigte Pfade zurückliefern.
Z.B. das Verzeichnis, in dem die Anwendung startet ist
public static string GetStartupPath()
{
return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
}
Sowas bräuchtest du auch. Und den Pfad musst du dann für deine Datenbankverbindung verwenden.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Hallo LingLing,
hier noch der Grund, warum du das Problem hast: FileDialog.RestoreDirectory
Aber wenn eine Datei an einem bestimmten Ort liegt, dann solltest du wirklich wie von Khalid gesagt absolute Pfade verwenden und dich nicht auf das Arbeitsverzeichnis verlassen.
herbivore
vielen dank für die antworten, aber irgendwie find ich mit eurer hilfe immer noch keine lösung für das problem.
gibt es nicht einen befehl mit dem ich den Pfad aus dem System auslesen kann um somit den connectionString neu zu schreiben?
Ich verteh dein Problem nicht ganz, wenn ich ehrlich bin.
gibt es nicht einen befehl mit dem ich den Pfad aus dem System auslesen kann um somit den connectionString neu zu schreiben?
Für das Auslesen des Pfades, habe ich dir bereits den Code gepostet. Und den ConnectionString, sollte man nur ein einziges mal erzeugen. Am besten beim Programmstart natürlich.
D.h. du musst dein ConnectionString nur ein einziges mal mit den absoluten Pfad erstellen und gut ist. Danach spielt es doch keine Rolle mehr, wo der momentane Pfad der Anwendung liegt.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
folgendes:
ich habe in Form1 ein Datagrid das mit mit einem DataTable gefüllt wird.
Das ich über den oben genannten XML - Export in Excel Exportiere. Dazu verändere ich das Datatable soweit, das ich die Spaltennummer die zur eindeutigkeit der Zeile dient rauslösche, damit sie im Exel formular nicht angezeigt wird.
Um dies zurückgängig zu machen, führe ich die füllen methode nach dem erstellen des Excelformulares neu aus, hierbei tritt der Fehler auf , das die Datenbank im Speicherort der Exceldatei nicht gefunden wurde.
mfg LINGLING
Deswegen soll man ja den ConnectionString zur Datenbank nur einmal erzeugen und dann auch mit absoluten Pfaden. Dann hast du dieses Problem nicht mehr.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
folgendes:
ich habe in Form1 ein Datagrid das mit mit einem DataTable gefüllt wird.
Das ich über den oben genannten XML - Export in Excel Exportiere. Dazu verändere ich das Datatable soweit, das ich die Spaltennummer die zur eindeutigkeit der Zeile dient rauslösche, damit sie im Exel formular nicht angezeigt wird.
Um dies zurückgängig zu machen, führe ich die füllen methode nach dem erstellen des Excelformulares neu aus, hierbei tritt der Fehler auf , das die Datenbank im Speicherort der Exceldatei nicht gefunden wurde.
Ist das wirklich nötig?
Die Daten unbrauchbar machen, damit man exportieren kann?
Der frühe Apfel fängt den Wurm.