2016-08-25 135 views
1

我正在嘗試從2個dbf表(FoxPro)中讀取數據,爲此我需要做一個JOIN,但是我遇到了一個問題,這兩個文件位於兩個不同的文件夾(1文件夾中,另一個在子文件夾,這是我嘗試:從不同文件夾中的2個dbf文件中讀取

string Con = @"Provider=VFPOLEDB.1;Data Source=\\Srverp\gab"; 
OleDbConnection ConnectionHandler = new OleDbConnection(Con); 
ConnectionHandler.Open(); 
OleDbDataAdapter DAT = new OleDbDataAdapter(); 

string SQL = @"SELECT * FROM bproved join .\ges_01\bproalb"; 

OleDbCommand Query = new OleDbCommand(SQL, ConnectionHandler); 
OleDbDataReader datareader = Query.ExecuteReader(); 

while (datareader.Read()) 
{   
    Console.WriteLine(datareader.GetValue(0).ToString()); 
    Console.ReadKey(); 
} 

如果我只用1臺試運行正常,所以問題是如何join2在不同的文件夾表?

回答

1

FULLPATH &文件名用括號括起來只需使用即:

string table1 = @"\\Srverp\gab\bproved.dbf"; 
string table2 = @"\\Srverp\gab\ges_01\bproalb.dbf"; 

string con = @"Provider=VFPOLEDB;Data Source=\\Srverp\gab"; 

string sql = string.Format(@"SELECT * FROM ('{0}') t1 
    inner join ('{1}') t2 on t1.bprovedId = t2.bprovedId", 
    table1, table2); 

DataTable t = new DataTable(); 
using (OleDbConnection connectionHandler = new OleDbConnection(con)) 
{ 
    OleDbCommand cmd = new OleDbCommand(sql, connectionHandler); 

    connectionHandler.Open(); 
    t.Load(cmd.ExecuteReader()); 
    connectionHandler.Close(); 
} 
// t has yopur data 
+0

感謝此工作完美! – Ion