现在大部分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 [email protected]"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 所对应的表名必须要有路径。
新闻热点
疑难解答