2017-07-29 80 views
1

我想添加一個新的記錄到dbf文件(文件名是STCRD.dbf)。我使用visual studio 2017> data connectionse添加了一條新記錄,如下圖所示。CDX文件沒有更新後添加一個新的DBF文件重新加入

enter image description here

一個新的記錄添加後,該CDX文件,這是名STCRD.cdx,不更新。我是視覺foxpro的新手。在cdx文件改變後我仍然不知道,dbf文件應該改變或不改變。任何人都可以點我正確的方式來添加一個新的記錄到這種類型的數據庫?

我發現一些link包含一些信息,但我無法理解關於發佈pack命令的答案。

+0

您只能在連接字符串中使用路徑。除此之外,你的命令丟失了。你如何做你的插入/更新/刪除?如果你讓VS生成命令,那麼要小心VS對VFP做錯了。 –

回答

2

您可能想檢查有關使用VFP和OleDb連接的其他文章。連接應該指向文件所在的路徑,而不是單個文件名/ dbf/cdx/fpt。

所以你的連接字符串應指向剛剛

d:\工作\ Sirichai \ TNPSE

那麼你的選擇,插入,更新,刪除可以只參照表,並沒有問題應該工作。 ..

SELECT * FROM STCRD其中....

插入到STCRD(FLD1,FLD2,fld3)的值(?,?,?)

和參數化查詢

+0

感謝您的支持。根據您的建議更改連接字符串後,我仍然得到相同的結果。文件STCRD.cdx仍然不更新。這是對的嗎? – wittakarn

+0

@wittakarn,如果以前提交記錄時遇到問題,則可能需要對其進行重新索引。現在連接是準確的,做FUTURE插入似乎工作,或者它仍然錯過索引。 – DRapp

+0

如何/爲什麼要查找CDX文件中的更改?你唯一需要關注的是DBF文件,其中存儲/讀取/寫入數據記錄及其字段(INSERT,SELECT等全部轉到DBF),如果創建正確,相關的CDX將「遵循」 。- 但誰在乎?是的,只要包含一個索引表達式作爲查詢的一部分,擁有一個活動索引文件就可以加速你的SQL查詢,而且,如果你在VFP本身工作,SEEK()可以利用它並且數據表關係可以是成立,但從VB.ASP或C#的角度來看,誰在乎? – Dhugalmac

1

我是視覺foxpro的新手。我仍然不知道在cdx文件被更改爲 之後,dbf文件應該改變或不改變。任何人都可以 指向我的正確方式來添加一個新的記錄到這種 數據庫?

在VFP中,您可以創建一個數據表(一個DBF文件),您可以在其中創建關聯的索引文件(CDX文件)。
喜歡的東西:

CREATE TABLE MyTable (field1 C(10), field2 M, Field3 D) 
SELECT MyTable 
INDEX ON field1 TAG firstfld 

或許花一些時間在免費,在線教程VFP將幫助。
Free On-line VFP tutorials

的修改的數據表(DBF文件 - STCRD.dbf)將自動「觸發」相關聯的索引文件(CDX文件)來更新。

當您創建一個ODBC連接時,您會這樣做到DBF文件(STCRD.dbf),而不是 CDX文件。一旦你的數據表'知道'其關聯的索引文件,CDX文件行爲是'自動'的。您不直接使用CDX文件。

我想,對於我來說,目前還不清楚你要完成什麼。正確設置ODBC連接,然後清楚解釋您遇到問題的原因。注意:數據庫是一個容器(有些像'M $ SQL Server'這樣的'智能'),而其他的不是(像VFP數據庫),但它們本身就是Not Data表格。數據表可能駐留在數據庫中,也可能不在數據庫中,但它是數據記錄「存活」的數據表(而不是數據庫)。

好運