从不同文件夹中的 2 个 dbf 文件中读取
Read from 2 dbf files in different folders
我正在尝试创建一个 c# proyect 以从 2 dbf tables(FoxPro) 读取数据,为此我需要做一个 JOIN,但我有一个问题,这 2 个文件分为两个不同的文件夹(一个在文件夹中,另一个在子文件夹中,这是我尝试的:
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 table 工作正常,那么问题是如何在不同的文件夹中加入 2 tables?
只需使用括号中的完整路径和文件名。即:
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
我正在尝试创建一个 c# proyect 以从 2 dbf tables(FoxPro) 读取数据,为此我需要做一个 JOIN,但我有一个问题,这 2 个文件分为两个不同的文件夹(一个在文件夹中,另一个在子文件夹中,这是我尝试的:
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 table 工作正常,那么问题是如何在不同的文件夹中加入 2 tables?
只需使用括号中的完整路径和文件名。即:
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