Welcome

首页 / 软件开发 / C# / 使用C#操作DBF数据库

使用C#操作DBF数据库2011-02-13现在大部分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:aaacode.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:WINDOWSsystem32,特别对于有多台服务器集群的,部署的时候要保证一致的版本!

http://www.cnblogs.com/tanjy/archive/2006/11/14/560046.html