2016-08-25 4 views
1

2つのdbfテーブル(FoxPro)からデータを読み込むためにAC#proyectを作成しようとしていますが、これはJOINを行う必要がありますが問題は2つありますサブフォルダ内の2つの別のフォルダ(フォルダ内の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

は単純に括弧で囲まれた&ファイル名のフルパスを使用すなわち:。

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

関連する問題