Laden...

Problem mit Pfad im SQL string

Erstellt von Baesler vor 15 Jahren Letzter Beitrag vor 15 Jahren 890 Views
Baesler Themenstarter:in
113 Beiträge seit 2008
vor 15 Jahren
Problem mit Pfad im SQL string

verwendetes Datenbanksystem:
Access, OleDB

Guten Abend,

ich habe da ein problem mit einem SQL-Statement.

Wenn die DB, auf die ich zugreife auf dem localen Rechner liegt, geht das.


SELECT  DISTINCT M_Mieter.MI_Name1,M_Mieter.MI_Vorname1,M_Mieter.MI_Straße,M_Mieter.MI_PLZ, M_Mieter.MI_Ort, M_Mieter.MI_Mail FROM M_Mieter WHERE M_Mieter.MI_Nummer IN (SELECT tblMieter.MI_Nummer FROM tblMieter IN  'D:\\Villa\\Daten\\Daten.mdb'  WHERE tblMieter.MI_MA_zlr = 47 AND tblMieter.MI_OB_zlr = 53);

Problematisch wird es allerdings, wenn der Pfad im Netzwerk auf einem Rchner liegt.

z.B. \Master\D\Villa\Daten\Daten.mdb

Durch die doppelten Backslashes im Statement werden die vom "\Master" nicht richtig erkannt.
Was kann ich da tun?

B
293 Beiträge seit 2008
vor 15 Jahren

Ich hab's jetzt nicht ausprobiert, aber müsste es nicht reichen, wenn du entweder ein @ vor deinen Statement-String setzt bzw. vier \ nimmst?

also so:

string statement = @"SELECT  DISTINCT M_Mieter.MI_Name1,M_Mieter.MI_Vorname1,M_Mieter.MI_Straße,M_Mieter.MI_PLZ, M_Mieter.MI_Ort, M_Mieter.MI_Mail FROM M_Mieter WHERE M_Mieter.MI_Nummer IN (SELECT tblMieter.MI_Nummer FROM tblMieter IN  '\\Master\D\Villa\Daten\Daten.mdb'  WHERE tblMieter.MI_MA_zlr = 47 AND tblMieter.MI_OB_zlr = 53)"; 

//bzw

string statement = "SELECT  DISTINCT M_Mieter.MI_Name1,M_Mieter.MI_Vorname1,M_Mieter.MI_Straße,M_Mieter.MI_PLZ, M_Mieter.MI_Ort, M_Mieter.MI_Mail FROM M_Mieter WHERE M_Mieter.MI_Nummer IN (SELECT tblMieter.MI_Nummer FROM tblMieter IN  '\\\\Master\\D\Villa\\Daten\\Daten.mdb'  WHERE tblMieter.MI_MA_zlr = 47 AND tblMieter.MI_OB_zlr = 53)"; 

Wenn ich nicht hier bin, findest du mich auf code-bude.net.

130 Beiträge seit 2005
vor 15 Jahren

Wieso nimmst du keine Parameter? Erstens wird dir das sowieso gleich jemand ans Herz legen und zweitens müsste es damit problemlos funktionieren.

J
3.331 Beiträge seit 2006
vor 15 Jahren

Wieso nimmst du keine Parameter? Erstens wird dir das sowieso gleich jemand ans Herz legen ...

So ist es. Siehe [Artikelserie] Parameter von SQL Befehlen

Aber das Problem könnte trotzdem die Bezeichnung der Tabelle sein. Für die Angabe der Datenbank gibt es schließlich den ConnectionString mit der DbConnection-Klasse, hier: OleDbConnection. Beispiele gibt es unter connectionstrings - bitte die Access-Version beachten.

Jürgen