//範例一: 利用Oledb讀取DBF資料庫
string dbDirectory = @"d:\tmp";(檔案所在資料夾)
string database =
"World.dbf";
string sql =
"select * from " + database;
string cnstr ;
DataTable dt =
OleDbDataTable(databaseDirectory, sql);
public static OleDbConnection OleDbOpenConn(string dbDirectory)
{
cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + dbDirectory + ";";
cnstr+=" Extended Properties=dBASE IV; User
ID=Admin; Password=;";
cnstr = string.Format(cnstr);
OleDbConnection icn
= new OleDbConnection();
icn.ConnectionString = cnstr;
if (icn.State == ConnectionState.Open)
icn.Close();
icn.Open();
return icn;
}
public static DataTable OleDbDataTable(string dbDirectory,
string OleDbString)
{
DataTable myDataTable
= new DataTable();
OleDbConnection icn
= OleDbOpenConn(dbDirectory);
OleDbDataAdapter da
= new OleDbDataAdapter(OleDbString,
icn);
DataSet ds = new DataSet();
ds.Clear();
da.Fill(ds);
myDataTable = ds.Tables[0];
if (icn.State == ConnectionState.Open)
icn.Close();
return myDataTable;
}
//範例二: 利用Odbc讀取DBF資料庫
string database = @"d:\tmp\World.dbf";
string sql = "select
* from " + database;
string cnstr
DataTable dt = OdbcDataTable(database,
sql);
public static OdbcConnection OdbcConn(string Database)
{
cnstr = "Driver={Microsoft dBase Driver
(*.dbf)}; SourceType=DBF; ";
cnstr+="SourceDB=" + Database +
";
Exclusive=No; Collate=Machine;";
cnstr+="NULL=NO; DELETED=NO;
BACKGROUNDFETCH=NO;";
OdbcConnection icn
= new OdbcConnection();
icn.ConnectionString = cnstr;
if (icn.State == ConnectionState.Open)
icn.Close();
icn.Open();
return icn;
}
public static DataTable OdbcDataTable(string Database,
string OdbcString)
{
DataTable myDataTable
= new DataTable();
OdbcConnection icn
= OdbcConn(Database);
OdbcDataAdapter da
= new OdbcDataAdapter(OdbcString,
icn);
DataSet ds =
new DataSet();
ds.Clear();
da.Fill(ds);
myDataTable = ds.Tables[0];
if (icn.State == ConnectionState.Open)
icn.Close();
return myDataTable;