Laden...

Datenbank Connection Fehler nach Speichern mit SaveFileDialog

Erstellt von LingLing vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.101 Views
L
LingLing Themenstarter:in
10 Beiträge seit 2008
vor 16 Jahren
Datenbank Connection Fehler nach Speichern mit SaveFileDialog

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

3.511 Beiträge seit 2005
vor 16 Jahren

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)

49.485 Beiträge seit 2005
vor 16 Jahren

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

L
LingLing Themenstarter:in
10 Beiträge seit 2008
vor 16 Jahren

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?

3.511 Beiträge seit 2005
vor 16 Jahren

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)

L
LingLing Themenstarter:in
10 Beiträge seit 2008
vor 16 Jahren

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

3.511 Beiträge seit 2005
vor 16 Jahren

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)

5.299 Beiträge seit 2008
vor 16 Jahren

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.