現(xiàn)在大部分c#連接數(shù)據(jù)庫(kù)都會(huì)是sql server 。但對(duì)一些舊的數(shù)據(jù)庫(kù)文件的連接和操作就不太熟了。
今天就有這個(gè)問(wèn)題,要對(duì)foxpro生成的dbf文件數(shù)據(jù)庫(kù)進(jìn)行操作。
我在csdn上查了很久,大部分有問(wèn)題都沒(méi)很好地回復(fù)到這些操作上的問(wèn)題。
經(jīng)過(guò)我的實(shí)驗(yàn),用odbc來(lái)連接它就可以了。
下面是所用的代碼。
都很簡(jiǎn)單,就是格式上要注意。和用開(kāi)的查詢(xún)語(yǔ)句會(huì)有很大不同。
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();
}
注意點(diǎn):1 連接串的格式。2 所對(duì)應(yīng)的表名必須要有路徑。
|
新聞熱點(diǎn)
疑難解答
圖片精選