VC程式設計實現建立dbf檔案

2021-09-05 23:52:02 字數 1360 閱讀 3545

前言:dbf檔案是一種著名的資料庫檔案,其特點是可以記錄單個資料表的資料。maozefa大俠曾經寫過兩篇文章論述如何操作dbf檔案:《c++老** -- dbf資料檔案操作類dbfile》(和c語言版的dbf本地資料庫檔案操作函式(首先非常感謝maozefa大俠把他的成果無私奉獻出來。同時我也看到其中一些不足之處。一是**的不相容性,比如在《c++老** -- dbf資料檔案操作類dbfile》一文的**是在borland c++ 3.1編譯器下編譯下,移植到vs環境下有一定的難度。二是建立的dbf檔案的標準性有待檢驗。我曾經將《c++老** -- dbf資料檔案操作類dbfile》一文的**移植到vc 6.0環境下,順利建立了dbf檔案,但是用microsoft visual foxpro 6.0開啟只能看到欄位名,看不到資料(可能這涉及到dbf檔案的版本問題)。據此我另想了一種操作dbf檔案的方法(有點投機取巧,大家不要派我板磚!呵呵)。

我看到dbf檔案結構其實是比較複雜的。我想直接建立肯定有一定困難,能不能換乙個思路呢?我的乙個思路就是:先建立乙個空的dbf檔案,然後使用ado連線它對它進行修改,這樣就達到了建立dbf檔案的目的。具體步驟如下:

1. 使用microsoft visual foxpro 6.0建立乙個空的dbf檔案,取名為:table1.dbf裡面有乙個字段,取名為field1,把這個檔案放在exe檔案的輸出檔案下,如vs工程的debug資料夾下

2. 使用windows api函式::getmodulefilename獲取exe檔案輸出路徑,進而獲取table1.dbf的路徑。

3. 使用ado連線table1.dbf,連線成功後你就可以實現對dbf檔案進行操作了,如修改字段、插入記錄等等。

在使用ado連線dbf檔案之前你也可以使用windows api函式對這個dbf檔案進行拷貝、重新命名之類的操作。

// 附ado連線dbf檔案的**:

_connectionptr m_pconn;   //連線資料庫介面

cstring strsrc;//strsrc為資料庫連線字串

if (failed(m_pconn.createinstance("adodb.connection"))) ...

//獲得連線字串,cspath為dbf檔案所在的資料夾

strsrc=getvffreetablesrcstring(cspath); 

_bstr_t   bstrsrc(strsrc);//把連線字串轉換為介面識別格式*

if (failed(m_pconn->open(bstrsrc,"","",-1))) ...

// 上面用到的getvffreetablesrcstring函式**如下:

cstring getvffreetablesrcstring(cstring strfoldername)

...   

VC程式設計實現建立dbf檔案

朱金燦 前言 dbf檔案是一種著名的資料庫檔案,其特點是可以記錄單個資料表的資料。maozefa大俠曾經寫過兩篇文章論述如何操作dbf檔案 c 老 dbf資料檔案操作類dbfile 和c語言版的dbf本地資料庫檔案操作函式 首先非常感謝maozefa大俠把他的成果無私奉獻出來。同時我也看到其中一些不...

VC建立BMP檔案

byte data bmp資料 int pbitssize bmp資料大小 int intimgsize 生成的bmp檔案大小 cstring filename bmp檔名 void createbmp byte data,int pbitssize,int intimgsize,cstringfi...

vc 實現檔案關聯

include include int main int argc,char argv 上面的函式是把字串中所有的 變為 char str 1 regsetvalue hkey classes root,exefile shell open command reg sz,lpctstr str,st...