現在大部分C#串連資料庫都會是sql server 。但對一些舊的資料庫檔案的串連和操作就不太熟了。
今天就有這個問題,要對FOXPRO產生的DBF檔案資料庫進行操作。
我在CSDN上查了很久,大部分有問題都沒很好地回複到這些操作上的問題。
經過我的實驗,用ODBC來串連它就可以了。
下面是所用的代碼。
都很簡單,就是格式上要注意。和用開的查詢語句會有很大不同。
protected void Page_Load(object sender, EventArgs e)
{
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
string table = @"D:\aaa\code.dbf";
string connStr=@"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
conn.ConnectionString = connStr;
conn.Open();
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = conn;
string sql = "update " + table + " set other='2',rate=1.014 ";
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
sql = @"select * from " + table;
OdbcDataAdapter da = new OdbcDataAdapter(sql,conn);
DataTable dt = new DataTable();
da.Fill(dt);
this.GridView1.DataSource = dt.DefaultView;
this.GridView1.DataBind();
}
注意點:
1 串連串的格式。
2 所對應的表名必須要有路徑。
3 Windows 2003作業系統裝的vfpodbc.dll是1.0版本,這會造成串連不上,要換成6.1.8630.1版本,伺服器位置C:\WINDOWS\system32,特別對於有多台伺服器叢集的,部署的時候要保證一致的版本!
http://www.cnblogs.com/tanjy/archive/2006/11/14/560046.html