2016-08-25 112 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

相关问题