今天就有这个问题,要对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 所对应的表名必须要有路径。